gpt4 book ai didi

java - 使用 opencsv API 或 Apache Poi Api 是否有限制?

转载 作者:搜寻专家 更新时间:2023-10-31 19:30:47 24 4
gpt4 key购买 nike

我正在基于 CSV 文件创建 Excel 文件。为了读取 CSV 文件,我正在使用 Opencsv API 和 Apache POI。在我的 csv 中包含 65537 行。

class Test {
public static void main(String[] args) throws IOException {
Workbook wb = new HSSFWorkbook();
CreationHelper helper = wb.getCreationHelper();
Sheet sheet = wb.createSheet("new sheet");

CSVReader reader = new CSVReader(new FileReader("SampleData.csv"));
String[] line;
int r = 0;int count=0;
while ((line = reader.readNext()) != null) {
Row row = sheet.createRow((short) r++);
count=count+1;
System.out.println("count-"+count);
for (int i = 0; i < line.length; i++)
row.createCell(i)
.setCellValue(helper.createRichTextString(line[i]));
}

// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
}}

当我运行这个程序时,出现以下错误:

Exception in thread "main" java.lang.IllegalArgumentException: Invalid row number (-32768) outside allowable range (0..65535)at org.apache.poi.hssf.usermodel.HSSFRow.setRowNum(HSSFRow.java:232)
at org.apache.poi.hssf.usermodel.HSSFRow.<init>(HSSFRow.java:86)
at org.apache.poi.hssf.usermodel.HSSFRow.<init>(HSSFRow.java:70)
at org.apache.poi.hssf.usermodel.HSSFSheet.createRow(HSSFSheet.java:205)
at org.apache.poi.hssf.usermodel.HSSFSheet.createRow(HSSFSheet.java:71)
at com.arosys.utilityclasses.Test.main(Test.java:23)Java Result: 1

我试图跟踪它支持多少行我发现它只支持 32768 并且还尝试了更少的行数,它工作得很好并创建了 excel 文件。

请帮我解决这个问题,如果我的 csv 包含 65536 行,那么我如何编写 excel 文件 (Xls)。

谢谢

最佳答案

为什么要在下一行中将行号转换为 short

 Row row = sheet.createRow((short) r++);

保留为整数

关于java - 使用 opencsv API 或 Apache Poi Api 是否有限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6537359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com