java - excel 文件转为带分隔符的 dat 文件

标签 java excel apache-poi

我正在阅读如下的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/

相关文章:

java - 如何让Tomcat8返回503状态码?

java - 消息新对象和使用静态方法的测试方法

excel - Powershell 脚本包括。 VBA Excel 宏

java - 如何使用 Apache POI 和 Java 创建超链接?

java - Apache poi 居中对齐

java - 将 excel 日期转换为 mm/dd/yyyy 格式

JavaFX:FXML 中的双向绑定(bind)

java - KeyListener 不工作(requestFocus 没有修复它)

vb.net - 如何使用 Open XML 将公式插入 Excel 2010 工作表?

javascript - VBA : access an HTML elements without Id or Name