nar*_*dra 11 java excel jxl apache-poi
我想创建一个可附加的excel表.就像我有四列stream1 stream2 stream3 stream4
第一次我只插入数据第一列(stream1)之后,我想逐个完全填充其他列.
这是我正在使用的代码:
public void createFile(Jqueue stream1, Jqueue stream2, Jqueue stream3, Jqueue stream4) {
try {
String filename = "path";
boolean alreadyExists = (new File(filename)).exists();
HSSFRow rowhead = sheet1.createRow((short) 0);
rowhead.createCell((short) 0).setCellValue("Stream 1");
rowhead.createCell((short) 1).setCellValue("Stream 2");
rowhead.createCell((short) 2).setCellValue("Stream 3");
rowhead.createCell((short) 3).setCellValue("Stream 4");
int i = 1;
while (!stream1.isEmpty()) {
String urlstream1 = "";
String urlstream2 = "";
String urlstream3 = "";
String urlstream4 = "";
HSSFRow row = sheet1.createRow((short) i);
try {
if (stream1.size() > 0) {
urlstream1 = stream1.dequeue().toString();
}
} catch (Exception ex) {
}
try {
if (stream2.size() > 0) {
urlstream2 = stream2.dequeue().toString();
}
} catch (Exception ex) {
}
try {
if (stream3.size() > 0) {
urlstream3 = stream3.dequeue().toString();
}
} catch (Exception ex) {
}
try {
if (stream4.size() > 0) {
urlstream4 = stream4.dequeue().toString();
}
} catch (Exception ex) {
}
row.createCell((short) 0).setCellValue(urlstream1);
row.createCell((short) 1).setCellValue(urlstream2);
row.createCell((short) 2).setCellValue(urlstream3);
row.createCell((short) 3).setCellValue(urlstream4);
i++;
}
FileOutputStream fileOut = new FileOutputStream(filename);
hwb.write(fileOut);
fileOut.close();
Run Code Online (Sandbox Code Playgroud)
但这不是可追加的代码.它逐行插入数据.
thx in advanced.
我想你的代码稍微改变一下就可以了。
尝试更换
整数 i = 1;
具有以下内容:
int i =sheet1.getLastRowNum() + 1;
您还需要稍微更改一下读取和写入文件的实现。
| 归档时间: |
|
| 查看次数: |
1524 次 |
| 最近记录: |