对于包含中文内容的excel文件,要把data导入database。我会先把其存为csv,然后用java写个程序生成insert sql script,但用java读取该csv时会出现乱码,其中一个原因就是该csv文件没有以utf-8形式保存。
那么做法应该是:
1. save excel file as csv
2. 把eclipse encoding设置为"utf-8"(必须的)
3. 在eclipse里创建一个csv file
4. 用notepad打开步骤1的csv,然后select all and copy to 步骤3的csv file里,并保存
5. 用下列代码来读取eclipse创建的csv并写入到一个file里
OutputStreamWriter write = new OutputStreamWriter(
new FileOutputStream(new File("docs/output.csv")), "UTF-8");
File file = new File("docs/five_choice.csv");
reader = new BufferedReader(new InputStreamReader(
new FileInputStream(file), "UTF-8"));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
write.write(line);
}
reader.close();
write.close();
注:如果没有步骤3和4,即使用上述代码读出来的也可能是乱码