【问题标题】:Java code to access data from an excel sheet and write that specific data to another excel sheet用于访问 Excel 工作表中的数据并将特定数据写入另一个 Excel 工作表的 Java 代码
【发布时间】:2018-07-30 12:46:18
【问题描述】:

我需要通过 Java 代码从一行 excel 表中读取数据并将其内容写入另一个 excel 表,但不在同一列中,而是在不同列中。谁能帮我 ?提前非常感谢:)

示例:假设从第一个 excel 文件中,我从以下列中得到了这个:CN=user1,CN=Users,DC=example,DC=com

现在,我需要将这些数据放在另一个 Excel 工作表中,但放在不同的列中,即每个逗号分隔的值将放在不同的列中。

【问题讨论】:

  • 您使用的是纯 Excel 工作表(.xls、.xlsx)还是您碰巧在 Excel 中打开的 CSV 文件?
  • poi.apache.org怎么样
  • 嘿@bracco23...我正在处理 .xlsx 文件

标签: java


【解决方案1】:

您可以尝试导出到制表符分隔的文本文档并使用 Java 代码进行操作。

https://www.howtogeek.com/79991/convert-an-excel-spreadsheet-to-a-tab-delimited-text-file/

只需从那里使用 Java 的 I/O 功能。

https://docs.oracle.com/javase/tutorial/essential/io/

【讨论】:

    【解决方案2】:

    我最近使用 Apache POI 库来解析 excel 电子表格,发现它非常有用。

    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    
    void parseWorkbook(File file) {
        POIFSFileSystem fs = new POIFSFileSystem(file.getInputStream());
        HSSFWorkbook wb = new HSSFWorkbook(fs);
            for (int i = 0; i < wb.getNumberOfSheets(); i++) {
                parseSheet(wb.getSheetAt(i));
            }
    }
    
    void parseSheet(HSSFSheet sheet) throws IllegalStateException {
        final int rows = sheet.getPhysicalNumberOfRows();
    
        HSSFRow row;
        for (int r = 0; r < rows; r++) {
            row = sheet.getRow(r);
            if (row != null) {
                parseRow(row);
            }
        }
     }
    
     void parseRow(HSSFRow row) {
        row.getCell(0);
        ....
     }
    

    可以在here找到一个读取和写入电子表格的示例

    【讨论】:

      猜你喜欢
      • 2021-05-11
      • 2018-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 2016-12-03
      相关资源
      最近更新 更多