JAVA在Windows使用apache commons-csv匯出CSV解決方案
阿新 • • 發佈:2018-11-27
一、新增依賴到pom.xml
<!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-csv --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>1.6</version> </dependency>
二、上程式碼
packagecom.yungoal.dbtest.tools; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVPrinter; import org.apache.commons.io.FileUtils; import java.io.FileWriter; import java.io.IOException; import java.util.List; public class CsvOutputTool { /** * 寫入csv檔案 *@param headers 列頭 * @param data 資料內容 * @param filePath 建立的csv檔案路徑 **/ public static void writeCsv(Object[] headers, List<Object[]> data, String filePath) throws IOException { //初始化csvformat CSVFormat formator = CSVFormat.DEFAULT.withRecordSeparator("\n"); //建立FileWriter物件 FileWriter fileWriter = new FileWriter(filePath, true); //建立CSVPrinter物件 CSVPrinter printer = new CSVPrinter(fileWriter, formator); //寫入列頭資料 printer.printRecord(headers); if (null != data) { //迴圈寫入資料 for (Object[] lineData : data) { printer.printRecord(lineData); } } fileWriter.flush(); printer.close(true); fileWriter.close(); } }