1. 程式人生 > >使用POI把資料匯出excel表

使用POI把資料匯出excel表

        在web開發中,有一個經典的功能,就是資料的匯入匯出。特別是資料的匯出,在生產管理或者財務系統中用的非常普遍,因為這些系統經常要做一些報表列印的工作。而資料匯出的格式一般是EXCEL。

        現在主流的操作Excel檔案的開源工具有很多,用得比較多的就是ApachePOIJExcelAPI這裡我們用Apache POI!我們先去Apache的大本營下載POI的jar包:http://poi.apache.org/ 。

在這裡我抽出來我專案中的一段程式碼測試版的程式碼給大家演示,基本滿足資料的匯出需求

public class PoiToExcelTestAction  extends BaseAction<Staff>{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public  String stafftoExcel() throws Exception { 
    //獲取所有員工集合
	List<Staff> staffList=	this.staffService.findAll();
	System.out.println(staffList.size());
    // 獲取總列數  
    int CountColumnNum =18; //xls.size();
    // 建立Excel文件  
    @SuppressWarnings("resource")
	HSSFWorkbook hwb = new HSSFWorkbook();  
    
 //   Admin xlsDto = null;  
    // sheet 對應一個工作頁  
    HSSFSheet sheet = hwb.createSheet("人員資訊表"); 
    HSSFSheet sheet2 = hwb.createSheet("管理員資訊表2");
    
    //第一個工作頁的內容 
    HSSFRow firstrow = sheet.createRow(0); // 下標為0的行開始  
    HSSFCell[] firstcell = new HSSFCell[CountColumnNum];  
    String[] names = new String[CountColumnNum];  
    names[0] = "姓名";  
    names[1] = "性別";  
    names[2] = "年齡";  
    names[3] = "身份證號碼";  
    names[4] = "手機號碼";
    names[5] = "員工編號";
    names[6] = "服務次數";
    names[7] = "滿意度";  
    names[8] = "員工郵箱";  
    names[9] = "微訊號碼";  
    names[10] = "入職時間";
    names[11] = "在職狀態";
    names[12] = "許可權";
    names[13] = "登陸使用者名稱";
    names[14] = "員工備註";
    names[15] = "登陸密碼";
    names[16] = "員工預約服務數";
    names[17] = "工作報告數";
    for (int j = 0; j < CountColumnNum; j++) {  
        firstcell[j] = firstrow.createCell(j);  
        firstcell[j].setCellValue(new HSSFRichTextString(names[j]));  
    }  
    for (int i = 0; i <staffList.size(); i++) {  
        // 建立一行  
    HSSFRow row = sheet.createRow(i+1);  
        // 得到要插入的每一條記錄  
        Staff staff = staffList.get(i);  
        for (int colu = 0; colu <= CountColumnNum; colu++) {  
            // 在一行內迴圈  
            HSSFCell name = row.createCell(0); 
            name.setCellValue(staff.getStaffName());  
            
            HSSFCell xm = row.createCell(1);  
            xm.setCellValue(staff.getSex());  
            
            HSSFCell yxsmc = row.createCell(2);  
            yxsmc.setCellValue(staff.getAge());  
            
            HSSFCell kcm = row.createCell(3);  
            kcm.setCellValue(staff.getIdcard());  
            
            HSSFCell cj = row.createCell(4);  
            cj.setCellValue(staff.getPhoneNum());
            
            HSSFCell zk = row.createCell(5);  
            zk.setCellValue(staff.getPhoneNum());
            
            HSSFCell time = row.createCell(6);  
            time.setCellValue(staff.getStaffCode());
            
            HSSFCell xh = row.createCell(7); 
            xh.setCellValue(staff.getServiceNum());  
            
            HSSFCell email = row.createCell(8);  
            email.setCellValue(staff.getStaffEmail());  
            
            HSSFCell wx = row.createCell(9);  
            wx.setCellValue(staff.getWeixinNum());  
            
            HSSFCell time1 = row.createCell(10);  
            time1.setCellValue(staff.getJoinTime());  
            
            HSSFCell zz = row.createCell(11);  
            zz.setCellValue(staff.getNowState());
            
            HSSFCell qx = row.createCell(12);  
            qx.setCellValue(staff.getStorerole().toString());
            
            HSSFCell longinname = row.createCell(13);  
            longinname.setCellValue(staff.getLoginname());
            
            
            HSSFCell bz = row.createCell(14);  
            bz.setCellValue(staff.getStaffDetail());  
            
            HSSFCell loginpas = row.createCell(15); 
            loginpas.setCellValue(staff.getLoginpassword());  
            
            HSSFCell xiaofei = row.createCell(16);  
            xiaofei.setCellValue(staff.getXiaoFeies().size());  
            
            HSSFCell bg = row.createCell(17);  
            bg.setCellValue(staff.getReports().size());  
            
           
        }  
    }
        //第二個工作頁內容
        HSSFRow firstrow1 = sheet2.createRow(0); // 下標為0的行開始  
        HSSFCell[] firstcell1 = new HSSFCell[7];  
        String[] names1 = new String[7];  
        names1[0] = "測試";  
        names1[1] = "測試";  
        names1[2] = "測試";  
        names1[3] = "測試";  
        names1[4] = "測試";
        names1[5] = "職務";
        names1[6] = "註冊時間";
        for (int j = 0; j < 7; j++) {  
            firstcell1[j] = firstrow1.createCell(j);  
            firstcell1[j].setCellValue(new HSSFRichTextString(names1[j]));  
        }  
     //   for (int i = 0; i < xls.size(); i++) {  
            // 建立一行  
        HSSFRow row1 = sheet2.createRow(1);  
            // 得到要插入的每一條記錄  
       //     xlsDto = xls.get(i);  
            for (int colu = 0; colu <= CountColumnNum; colu++) {  
                // 在一行內迴圈  
                HSSFCell xh = row1.createCell(0); 
                xh.setCellValue("132");  
                
                HSSFCell xm = row1.createCell(1);  
                xm.setCellValue("132");  
                
                HSSFCell yxsmc = row1.createCell(2);  
                yxsmc.setCellValue("132");  
                
                HSSFCell kcm = row1.createCell(3);  
                kcm.setCellValue("123");  
                
                HSSFCell cj = row1.createCell(4);  
                cj.setCellValue("123");
                
                HSSFCell zk = row1.createCell(5);  
                zk.setCellValue("123");
                
                HSSFCell time = row1.createCell(6);  
                time.setCellValue(new Date().toString());
            }  
   // }  
    // 建立檔案輸出流,準備輸出電子表格  
   try{
	   OutputStream out = new FileOutputStream("e:管理員資訊表.xls"); 
	    hwb.write(out);   
	    out.close();
	    System.out.println("資料庫匯出成功");
   }catch(Exception ex){
	   
	   
   }
	return null;  
}  
}

相關推薦

使用POI資料匯出excel

        在web開發中,有一個經典的功能,就是資料的匯入匯出。特別是資料的匯出,在生產管理或者財務系統中用的非常普遍,因為這些系統經常要做一些報表列印的工作。而資料匯出的格式一般是EXCEL。         現在主流的操作Excel檔案的開源工具有很多,用得比較

javaweb中如何使用POI資料匯出Excel(有下載提示框)詳細教程

準備步驟:1.首先要在Apache官網上下載poi的jar包(以poi-3.17為例)3.下載完成後解壓檔案4.將裡面的jar包都引到專案中去,也可以單獨引poi的jar包示例程式碼:package com.lzy.Controller; import java.io.Bu

PHP資料匯出excel的外掛與運用

外掛下載在我的這裡有我已經上傳了,自己下載,遇到問題可以在下方留言, 1、包放在 ThinkPHP -> Library -> Vendor; 2、前端:程式碼 <div class="btn-group" style="float: left; mar

如何將table中的資料匯出excel

所用技術:Mybatis+Springmvc+Spring  例子: @RequestMapping(value = "/sbExport") public void sbcscxInquiry

asp.net mvc 資料匯出excel及自excel匯入資料到相應

一、自資料表匯出excel /// <summary> /// 匯出excel /// </summary> /// <param name="sortgid"></param>

利用poi資料儲存excel,並格式化日期例項

下面是一個簡單的小例子,利用poi進行儲存excel操作。 package com.cn; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFR

ThinkPHP將資料匯出Excel中 4種姿勢呼叫Event事件

<?php namespace Home\Event; class ExportExcelEvent{ /** * @desc 將資料匯出到Excel中 * @param $data array 設定表格資料 * @param $titlename strin

使用Apache POI技術資料庫中的資料匯入Excel

首先還是匯入需要的jar包,上一篇部落格裡有 有兩種實現方法 方法一, 第一步:查詢所有的分割槽資料 第二步:使用POI將資料寫到Excel檔案中 第三步:使用輸出流進行檔案下載 /** *

SSM框架使用POI技術匯出Excel

POI框架是Apache開源的可以匯出匯入Excel表的,本部落格介紹在SSM(Spring+SpringMVC+Mybatis)專案裡,如何使用POI框架,匯出Excel表 這裡我們先要去Apache官網下載jar 然後,就可以先程式設計了 先提供一個封裝的httpservlet請求

使用 jxl 根據下載資料模版匯出 excel ——合併配置

使用jxl根據下載資料模版匯出excel表——合併配置: 首先根據模版檔案路徑讀取excel模版檔案,然後對excel檔案進行修改,即寫出資料到excel檔案中,再將該excel檔案儲存到目標檔案中,這裡操作excel必須是2003版本(.xls) 準備excel模版檔案

利用POI匯出Excel

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi&l

一個php檔案就可以資料庫的資料匯出Excel表格

資料庫內容太多,複製貼上太麻煩?那就用程式碼實現把,把程式碼寫好了,匯出還不容易嗎,訪問即可匯出。 excel.php &lt;?php error_reporting(E_ALL ^ E_DEPRECATED); $localhost = '資料庫地址'; $dbnam

基於C#語言MVC框架NPOI控制元件匯出Excel資料

控制元件bin檔案下載地址:https://download.csdn.net/download/u012949335/10610726 @{ ViewBag.Title = "dcxx"; } <script type="text/javascript"

poi批量匯入匯出Excel(一、需要建資料庫)

本專案基於SSM框架,簡單封裝了Excel批量匯入匯出功能,需要建資料庫表將資料匯入到表中,查詢遍歷出資料匯出Excel,下一篇文章介紹下不用建資料庫表一鍵匯入匯出Excel(點選跳轉),不過這樣只適用於對匯入的Excel表進行轉換。一、下載poi jar包:     點這裡

SpringBoot整合POI實現檔案匯出Excel,匯入Excel更新Mysql資料庫資料

        上傳功能 轉載自https://blog.csdn.net/xyy1028/article/details/79054749原創寫的非常好,但是每個人都有自己的業務邏輯;所以在研究了一點之後,打上註釋,方便新手理解,同時也方便自己記憶;專案目錄applicat

java使用POI資料匯出放入Excel

本文主要是將資料庫取出的資料按照自定義的行列格式匯出到excel中,POI則是實現我們需求所用到的技術。 POI介紹 使用spring boot匯入相關依賴 獲取資料(自行處理) 完整程式碼例項:建立excel,將資料寫入excel ####1.PO

Java匯出Excelpoi)名中文亂碼問題處理

<pre name="code" class="java">String _filename = ValidateTools.date2Str(date, "yyyyMMddHHmmss"); String filename = f_name + _filen

poi批量匯入匯出Excel(三、通過模板匯出Excel並能實現匯入多個sheet

本專案基於SSM框架,簡單封裝了Excel批量匯入匯出功能,不用建資料庫表一鍵匯入匯出Excel,不過這樣只適用於對匯入的Excel表進行轉換,通過模板匯出Excel並且能實現匯入多個sheet表。上一篇介紹了建表匯入匯出Excel(點選跳轉)一、下載poi jar包:點這裡

JAVA 使用 POI實現資料匯出Excel

前言:    人生中第一次釋出部落格,怎麼說還是有點緊張的。希望各位看官多多支援~~~!引入:    就在上個禮拜,專案中有一個需求就是把一些資料匯出到Excel中,並且要求Excel要按照規定的內容和排版顯示匯出來的資料。    當時看到這個需求內心還是有點小壓力的,畢竟剛

Java匯出ExcelPOI 實現合併單元格以及列自適應寬度

 //字型          HSSFFont font = workbook.createFont();          font.setFontName("仿宋_GB2312");          font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗體顯示