使用POI把資料匯出excel表
在web開發中,有一個經典的功能,就是資料的匯入匯出。特別是資料的匯出,在生產管理或者財務系統中用的非常普遍,因為這些系統經常要做一些報表列印的工作。而資料匯出的格式一般是EXCEL。
現在主流的操作Excel檔案的開源工具有很多,用得比較多的就是Apache的POI及JExcelAPI。這裡我們用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 <?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匯出Excel表(poi)名中文亂碼問題處理
<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匯出Excel表,POI 實現合併單元格以及列自適應寬度
//字型 HSSFFont font = workbook.createFont(); font.setFontName("仿宋_GB2312"); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗體顯示