如何使用utf-8导出Excel CSV并读入Java?

我有excel电子表格,其中包含许多“中文(zh-TW)”和“英文(en-US)”字,这些数据需要用utf-8编码导入到数据库表中。 我第一次尝试使用Excel“另存为”function将数据导出为CSV。 但是,由于Excel不允许更改“Save-AS”function的字符编码,因此数据无法正确读取。

search后,我发现完成任务的简单方法是以下步骤:

将Excel工作表保存为“Unicode文本(.txt)”(Excel以UTF16编码并使用TAB为每列分隔。 在这里输入图像说明

下面是Java代码片段来读取这个Excel unicode导出文件的内容:

 File dataFile = new File(“my-unicode-file-exported.txt”));
 InputStreamReader isr = new InputStreamReader(new FileInputStream(dataFile),“UTF-16”);     
 BufferedReader br = new BufferedReader(isr);        

 String line = null;
 while((line = br.readLine())!= null){
     // TAB分割
     String elements = line.split(“\ t”);

     //处理每个元素
     String element_01 = elements [0];
     String element_02 = elements [1];
     .....   
 }

 br.close();