我正在阅读如下的Excel文档:
package com.sample.file;
//necessary imports goes here
public class ExcelReader {
public static void main(String[] args) throws Exception{
String fname = "C:\\myExcel.xls"; // or "C:\\myExcel.xlsx"
InputStream inp = new FileInputStream(fname);
Workbook wb = WorkbookFactory.create(inp);
Sheet sheet = null;
sheet = wb.getSheetAt(0);
Iterator rows = sheet.rowIterator();
while (rows.hasNext())
{
Row row = (Row) rows.next();
// how to write to a semicolon delimited dat file here
}
inp.close();
}
}
如上所示,我能够读取该行。但是,现在我想将该行写入分号分隔的 dat 文件中。
此外,如果列为空,则它应该在文件中作为空值,即连续分号之间没有数据。
最佳答案
final StringBuilder sb = new StringBuilder("");
while (rows.hasNext()) {
Row row = (Row) rows.next();
// how to write to a semicolon delimited dat file here
Iterator<Cell> cells = row.cellIterator();
while (cells.hasNext()) {
Cell cell = cells.next();
sb.append(cell.toString()).append(";");
}
sb.append("\n");
}
File file = new File("someFile.dat");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(sb.toString());
bw.close();
关于java - excel 文件转为带分隔符的 dat 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12927412/