我的数据以以下格式存储(向下看):[-]表示空白单元格,右边可能只有10列(空格后)。像这样的东西:
[string0] [-] [string1] [string2] [string3] .. [string10] [-]
如何为以下代码更改此代码:
1)仅获取[string0]
2)仅获取[string1] [string2] [string3] .. [string10] [-]
try {
FileInputStream file = new FileInputStream("C:\\Users\\student3\\"+sfilename+".xls");
//Get the workbook instance for XLS file
HSSFWorkbook workbook = new HSSFWorkbook(file);
//Get first sheet from the workbook
HSSFSheet sheet = workbook.getSheetAt(0);
//Iterate through each rows from first sheet
Iterator<Row> rowIterator = sheet.iterator();
while(rowIterator.hasNext()) {
Row row = rowIterator.next();
//For each row, iterate through each columns
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch(cell.getCellType()) {
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue() + "\t\t");
list1.add(cell.getStringCellValue());
break;
}
}
System.out.println("");
}
file.close();
FileOutputStream out =
new FileOutputStream("C:\\Users\\student3\\"+sfilename+".xls");
workbook.write(out);
out.close();
我不知道如何停止Iterator。他吸收了所有..
如果我很清楚,您只想过滤您的第一列字符串,然后单独休息。
为什么不为此使用一个简单的计数器:
while(rowIterator.hasNext()) {
Row row = rowIterator.next();
String RowContent = null;
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext()) {
Cell cell = cellIterator.next();
RowContent=RowContent+cell.toString();
}
//Code for saving RowContent or printing or whatever you want for text in complete row
}
RowContent将在每次迭代中串联单个行的每个单元格。
HSSF是POI项目的Excel'97(-2007)文件格式的纯Java实现。XSSF是POI项目对Excel2007OOXML(.xlsx)文件格式的纯Java实现。 使用HSSF时是否有出口限制?
我已经将HSSF中的所有旧代码都转换为SS,除了制作工作手册的部分。 旧代码:HSSFWorkbook wb=新HSSFWorkbook(新文件输入流(文件)); 新的非工作代码:工作簿[]wb2=新工作簿[]{New FileInputStream}; 这是该网站提供的一个转换示例: 新增:工作簿[]wbs=new Workbook[]{new HSSFWorkbook(), new XSSFW
这里是ApachePOI4.x。我看到有两种类型的实现: HSSF工作手册 我需要编写一个Java 8应用程序,它可以读取带有“”(xls)或“”(xlsx)扩展名的Excel表格。也就是说,Excel文件是以“旧”(2003年以前)格式保存的,还是更新的格式保存的。 假设我对XLS文件使用HSSF,对XLSX文件使用XSSF,安全吗?或者映射逻辑在这里稍微复杂一点?这个答案似乎表明我是正确的,但
当我修改服务器中现有的excel文件并复制到本地计算机并打开它时,我发现excel无法打开,因为某些内容不可读,是否要打开并修复此工作簿 已经努力解决了8个小时,但运气不好。如果有人能解释一下,我会很感激的。
每当我使用Apatche POI打开Excel文件时,文件都会被修改,即使我只是在读取文件而不进行任何修改。 以这样的测试代码为例。 Test 总是失败,因为 Apache POI 总是会修改该文件。在测试使用MS Office新创建的空白Excel文件时,Apache POI将文件从8.1 kb切割到6.2 kb并损坏文件。 测试对象: 以及版本3.12 我是否可以防止Apache POI通过其
问题内容: 假设我有一个整数集,并且我想增加集合中的每个整数。我该怎么做? 我可以在迭代时添加和删除集合中的元素吗? 在迭代原始集合时,是否需要创建一个新集合以将元素“复制并修改”到其中? 编辑:如果集合中的元素是不可变的呢? 问题答案: 您可以在迭代期间使用Iterator对象安全地从集合中删除;尝试在迭代时通过其API修改集合会破坏迭代器。Set类通过getIterator()提供一个迭代器。