1. 程式人生 > >基於java的簡單的excel生成工具類

基於java的簡單的excel生成工具類

本次使用的為poi包,以下為pom引用

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.17</version>
</dependency>

工具類使用的方法:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

import
org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import com.alibaba.druid.util.StringUtils; /** * excel生成工具類 * * @author tp * */ public class ExcelUtils { /** * 生成excel * * @param datas * 資料 * @param
header * 表頭 * @param folder * 檔案路徑 * @param fileName * 檔名稱 * @return */
public static boolean writeExcel(List<List<String>> datas, List<String> header, String folder, String fileName) { if (datas == null
|| datas.isEmpty() || header == null || header.isEmpty() || StringUtils.isEmpty(folder) || StringUtils.isEmpty(fileName)) { return false; } // 判斷路徑是否正確 File file = new File(folder); if (!file.isDirectory()) { return false; } // 設定檔案字尾 if (!fileName.endsWith(".xls")) { fileName = fileName + ".xls"; } // 第一步,建立一個workbook對應一個excel檔案 HSSFWorkbook workbook = new HSSFWorkbook(); // 第二部,在workbook中建立一個sheet對應excel中的sheet HSSFSheet sheet = workbook.createSheet("統計表"); // 第三部,在sheet表中新增表頭第0行,老版本的poi對sheet的行列有限制 HSSFRow row = sheet.createRow(0); // 第四步,建立單元格,設定表頭 for (int i = 0; i < header.size(); i++) { row.createCell(i).setCellValue(header.get(i)); } // 第五步,寫入實體資料,實際應用中這些資料從資料庫得到,物件封裝資料,集合包物件。物件的屬性值對應表的每行的值 for (int i = 0; i < datas.size(); i++) { HSSFRow row1 = sheet.createRow(i + 1); List<String> data = datas.get(i); // 建立單元格設值 for (int j = 0; j < data.size(); j++) { row1.createCell(j).setCellValue(data.get(j)); } } // 將檔案儲存到指定的位置 try { if (!file.exists()) { file.mkdirs(); } FileOutputStream fos = new FileOutputStream(folder + "\\" + fileName); workbook.write(fos); fos.close(); return true; } catch (IOException e) { e.printStackTrace(); } return false; } }

測試方法:

public static void main(String[] args) {
        List<List<String>> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            List<String> data = new ArrayList<>();
            data.add("user_" + i);
            data.add("pass_" + i);
            list.add(data);
        }

        List<String> header = new ArrayList<>();
        header.add("使用者名稱");
        header.add("密碼");
        File file = new File("");
        boolean writeExcel;
        try {
            writeExcel = ExcelUtils.writeExcel(list, header, file.getCanonicalPath(), "user1");
            System.out.println(writeExcel);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

顯示效果
顯示效果

相關推薦

基於java簡單excel生成工具

本次使用的為poi包,以下為pom引用 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactI

基於TwitterSnowflake分散式id生成工具實現

1、 什麼是TwitterSnowflake? 簡介: TwitterSnowflake演算法是用來在分散式場景下生成唯一ID的。 舉個栗子:我們有10臺分散式MySql伺服器,我們的系統每秒能生成10W條資料插入到這10臺機器裡,現在我們需要為每一條資料生成一個全域性唯一的ID,

javaExcel處理工具

/** 該工具類會返回處理結果和封裝之後的資料,獲取資料直接從 **/ import java.io.IOException; import java.io.InputStream; import java.text.DecimalFormat; import ja

Java通用的Excel檔案生成工具,支援生成檔案和瀏覽器直接下載

<span style="font-size:14px;">java通用的Excel檔案建立方法,支援同文件多tab頁建立。只需要呼叫靜態方法,傳遞List<String>表頭和List<Map>資料集合等,即可生成Excel檔案。 p

Java 實現Excel匯入匯出(包含一些簡單樣式設定)工具

最近很奇怪,客戶各種各樣奇葩的需求,匯出個表格設計各種樣式,真心無語,網上找了很多資料,新手就是這麼坑爹,找東西都不能有點速度!沒辦法,水平所致。提供給跟我差不多水平的朋友參考。 package com.cicro.fuchen.util.excel;

java Excel表格生成工具

最近做資料列表匯出成Excel表格,藉此機會學習了一下。 首先我們需要通過hibernate連結資料庫,將資料庫欄位對映成POJO實體,這裡不多做廢話。 我們需要用excel表格工具類,首先需要幾個poi的jar包,poi讀取excel資料所需要的jar包。其他的還需要一些

java圖形驗證碼生成工具及web頁面校驗驗證碼

組合 line des resp word buffere 需要 case ali 最近做驗證碼,參考網上案例,發現有不少問題,特意進行了修改和完善。驗證碼生成器:[ht

java隨機數生成工具RandomStringUtils使用教程

最近專案中需要用到隨機數,網上搜了一下,發現 RandomStringUtils 這個工具類非常的不錯。而這個類呢?就在我們的最常用的 Apache Commons Lang (org.apache.commons.lang3.RandomStringUtils)包中,這真是

Java的驗證碼生成工具程式碼以及控制器程式碼

import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import jav

簡單的流水生成 工具

package com.sumainfo.util; import java.text.SimpleDateFormat; import java.util.Date; /**  * 流水號生成工具類  * @author Mfx  * @data 208-8-31  *

#Java--POI之Excel匯出工具(支援多個sheet頁同時匯出)

一、核心程式碼 package com.yx.yzh.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.

java poi匯入Excel通用工具

問題引入和分析 提示:如果不想看羅嗦的文章,可以直接到最後點選原始碼下載執行即可 最近在做一個匯入Excel的功能,在做之前在百度上面查詢“java通用匯入Excel工具類”,沒有查到,大多數都是java通用匯出Excel。後來仔細想想,匯出可

java excel匯出工具

使用的是apache poi與註解類實現:maven:<dependency>       <groupId>org.apache.poi</groupId>       <artifactId>poi</artifact

使用POI做的一個生成Excel工具。包含了導出Excel和解析Excel方法

time 類型 解析excel rom 統計表 pty reat iou 包括 PoiExcelUtils.java /** * */ package com.common.office; import java.io.File; import java.io.

使用POI做的一個生成Excel工具。包含了匯出Excel和解析Excel方法

PoiExcelUtils.java /** * */ package com.common.office; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStrea

Java之——匯出Excel通用工具

一、概述 相信大家在工作過程中,都會遇到這樣一個需求,就是將相關的資料列表匯出成excel,那麼,有沒有通用的匯出方式呢,這裡,就帶著大家一起來用Java實現一個通用的匯出Excel的工具。 二、專案實現 1、構建pom.xml 我們的工程是利用Maven來構建的

Java訂單號生成工具(實現二)基於佇列

使用了ConcurrentLinkedQueue,ConcurrentLinkedQueue是一個基於連結節點的無界執行緒安全佇列,它採用先進先出的規則對節點進行排序,當我們新增一個元素的時候,它會新增到佇列的尾部,當我們獲取一個元素時,它會返回佇列頭部的

利用JavaCompiler編譯java檔案(一個簡單封裝的工具

  最近,在利用java做一個Online Judge系統,裡面涉及到編譯java檔案為class檔案,當時看過API文件,也百度過別人的一些部落格,感覺都不太符合個人胃口。雖然,有說得詳細的,也有很多權威的,也有很多使用例子的。但是主要是感覺學習成本過高了,他們都過多過少

Java訂單號生成工具(實現一)基於物件鎖

-----2017-04-17更新----- Re: claram 2017-02-04 16:15發表 [回覆] 回覆qq_27482239:line 36: 改為 >= line 41:finOderNum 改為 finOrderNum PS:本方法可能較為笨重

java二維碼工具:生成二維碼和解析二維碼

利用google 的 zxing 生成和解析二維碼。 1、下載或maven加入依賴,我這選用的是3.3.0版本, jar下載地址: http://mvnrepository.com/artifact/com.google.zxing/core/3.3.0 http://mv