java hssfcell_增加java中HSSFCell的最大长度

实际上我尝试使用

java在HSSFCell中存储一些数据,但是我得到了一个错误

java.lang.IllegalArgumentException: The maximum length of cell contents (text) i

s 32,767 characters

at org.apache.poi.hssf.usermodel.HSSFCell.setCellValue(HSSFCell.java:559

)

at org.apache.poi.hssf.usermodel.HSSFCell.setCellValue(HSSFCell.java:533

)

at application.ExtractUI.datatoexcel(ExtractUI.java:272)

at application.ExtractUI$3.getData(ExtractUI.java:208)

at application.ExtractUI$3.handle(ExtractUI.java:198)

at application.ExtractUI$3.handle(ExtractUI.java:1)

任何人都可以建议我增加细胞长度的方法,即超过32767个字符???

我使用以下代码,我得到了上述错误

public void datatoexcel(ResultSet rs) {

try {

int iter = 0;

ResultSetMetaData rmeta = rs.getMetaData();

int col = rmeta.getColumnCount();

HSSFWorkbook workbook = new HSSFWorkbook();

Date date = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy HHmmss");

String pa = pth + "\\" + sdf.format(date) + ".xlsx";

System.out.println(pa);

FileOutputStream out = new FileOutputStream(new File(pa));

HSSFSheet sheet = workbook.createSheet();

HSSFRow myRow = null;

HSSFCell myCell = null;

// Font style for headers

HSSFFont boldFont = workbook.createFont();

boldFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

boldFont.setColor(HSSFFont.COLOR_RED);

HSSFCellStyle cellStyle = workbook.createCellStyle();

cellStyle.setFont(boldFont);

while (rs.next()) {

// limit the data to 1000 anad create a new sheet

if (iter == 1000) {

sheet = workbook.createSheet();

iter = 0;

}

// Adding header to the first row

if (iter == 0) {

myRow = sheet.createRow(iter);

for (int k = 1, j = 0; k <= col && j < col; k++) {

myCell = myRow.createCell( j);

myCell.setCellValue(rmeta.getColumnName(k));

// set style to font

myCell.setCellStyle(cellStyle);

j++;

}

iter++;

}

// Adding data from 2nd Row

myRow = sheet.createRow(iter);

for (int k = 1, j = 0; k <= col && j < col; k++) {

myRow.createCell( j).setCellValue(

rs.getString(rmeta.getColumnName(k)));

j++;

}

iter++;

}

workbook.write(out);

out.close();

} catch (Exception e) {

e.printStackTrace();

}

}

有什么建议??

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值