java - 如何将由管道符号分隔的txt文件转换为Java中的xls文件

标签 java excel csv

我需要将 csv 文件中的数据导入 selenium 中的 excel。

拥有如下格式的 csv 文件:

PERIOD|EMPLID|EMPL_RCD|HOME HOST|NAME|FIRST_NAME|LAST_NAME|FTE|EMPL_STATUS
5/04/2018|78787|0|Home|mandon|steven|jabobs|1|A
6/04/2018|78789|0|Home|stacy|carvin|tans|1|A
11/04/2018|17892|0|Home|neel|harvis|bammer|1|A

需要将这些数据保存在 excel 中,如图所示:

image

编辑 我尝试创建 Excel 文件

我使用下面的代码从带有管道符号分隔符的 csv 文件生成 (.xls) 文件,如图所示

image

但是在阅读第一行后给出 java.lang.NullPointerException

public class DelimitedToXls {
    @SuppressWarnings("deprecation")
    public static void main(String args[]) throws IOException {
        ArrayList<ArrayList<String>> allRowAndColData = null;
        ArrayList<String> oneRowData = null;
        String fName = "C:\\input.csv";
        String currentLine;
        FileInputStream fis = new FileInputStream(fName);
        DataInputStream myInput = new DataInputStream(fis);
        int i = 0;
        allRowAndColData = new ArrayList<ArrayList<String>>();
        while ((currentLine = myInput.readLine()) != null) {
            oneRowData = new ArrayList<String>();
            String oneRowArray[] = currentLine.split(";");
            for (int j = 0; j < oneRowArray.length; j++) {
                oneRowData.add(oneRowArray[j]);
            }
            allRowAndColData.add(oneRowData);
            System.out.println();
            i++;
        }

     try {
         HSSFWorkbook workBook = new HSSFWorkbook();
         HSSFSheet sheet = workBook.createSheet("sheet1");
         for (int i = 0; i < allRowAndColData.size(); i++) {
           ArrayList<?> ardata = (ArrayList<?>) allRowAndColData.get(i);
           HSSFRow row = sheet.createRow((short) 0 + i);
           for (int k = 0; k < ardata.size(); k++) {
                System.out.print(ardata.get(k));
                HSSFCell cell = row.createCell((short) k);
                cell.setCellValue(ardata.get(k).toString());
           }
           System.out.println();
         }
       FileOutputStream fileOutputStream =  new FileOutputStream("C:\\outputFile.xls");
       workBook.write(fileOutputStream);
       fileOutputStream.close();
    } catch (Exception ex) {
   }
 }
}

最佳答案

可以直接用excel打开文件。打开文件->选择文件类型:文本文件。 选择文件,然后在下一个窗口中选择“分隔符”选项。下一个窗口选择“其他”并输入 |作为分隔符。 当然是另存为xls。

就这些。

enter image description here

关于java - 如何将由管道符号分隔的txt文件转换为Java中的xls文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49797765/

相关文章:

java - 如果 LDAP 服务器在获取记录时断开连接,不会引发异常

excel - 如何使用 VBA 将数据透视表过滤器放置在彼此上方?

vba - Sendkey 两次就成功了?

python - 匹配多个 CSV 文件中的多个元素

java - 将 hashmap 中的数据写入 CSV 文件

Java:如何从方法返回的列表中写入/读取?

java - 二十一点 println 游戏 Java 编程

python - OpenPyXL - 页眉/页脚 - 无法将页眉写入工作表

MATLAB CSV 文件读取

java - 通知其他 Activity 偏好已更改