1. 程式人生 > >JAVA在Windows使用apache commons-csv匯出CSV解決方案

JAVA在Windows使用apache commons-csv匯出CSV解決方案

一、新增依賴到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>

二、上程式碼

package
com.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(); } }