1. 程式人生 > >springmvc + mybatis + poi匯出Excel例項

springmvc + mybatis + poi匯出Excel例項

1、前端js程式碼:

$("#fileExportAll").click(function(){
        var start = $("#startDate").val();
        var end = $("#endDate").val();
        window.location.href=CONTEXTPATH + "/test.do?method=exporDate&startDate=" + start + "&endDate=" + end;
    })

2、dao中的程式碼:

    @Override
    public void
exportMerHistoryStatistics(Map model,HttpServletResponse response){ List list = getSqlMapClientTemplate().queryForList("testPQ", model); ExportExcel e = new ExportExcel(); String headers[][] = {{"NAME","名稱"},{"ACCOUNT","賬號"},{"TRANAMT","金額"},{"REPORTDATE","統計日期"}}; e.exportExcel("測試"
, headers, list, response); }

3、通用匯出工具(適合mybatis)

import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel
.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; @SuppressWarnings("all") public class ExportExcel { /** * 將資料以EXCEL 的形式輸出到指定IO裝置上 * * @param title * 表格標題名 * @param headers * 表格屬性列名二維陣列{英文列名,中文列頭} * @param dataset * List<Map>集合資料 * @param out * 與輸出裝置關聯的流物件,可以將EXCEL文件匯出到本地或者網路中 */ @SuppressWarnings("unchecked") public void exportExcel(String title, String[][] headers, List<Map<String, Object>> dataset, HttpServletResponse response) { HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet(title); sheet.setDefaultColumnWidth(15); HSSFCellStyle style = workbook.createCellStyle(); style.setFillForegroundColor(HSSFColor.WHITE.index); style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); style.setBorderBottom(HSSFCellStyle.BORDER_NONE); style.setBorderLeft(HSSFCellStyle.BORDER_NONE); style.setBorderRight(HSSFCellStyle.BORDER_NONE); style.setBorderTop(HSSFCellStyle.BORDER_NONE); style.setAlignment(HSSFCellStyle.ALIGN_CENTER); HSSFFont font = workbook.createFont(); //font.setColor(HSSFColor.VIOLET.index); font.setFontHeightInPoints((short) 12); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); style.setFont(font); HSSFCellStyle style2 = workbook.createCellStyle(); //style2.setFillForegroundColor(HSSFColor.LIGHT_YELLOW.index); style2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); style2.setBorderBottom(HSSFCellStyle.BORDER_THIN); style2.setBorderLeft(HSSFCellStyle.BORDER_THIN); style2.setBorderRight(HSSFCellStyle.BORDER_THIN); style2.setBorderTop(HSSFCellStyle.BORDER_THIN); style2.setAlignment(HSSFCellStyle.ALIGN_CENTER); style2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); HSSFFont font2 = workbook.createFont(); font2.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL); style2.setFont(font2); HSSFRow row = sheet.createRow(0); for (int i = 0; i < headers.length; i++) { HSSFCell cell = row.createCell(i); cell.setCellStyle(style); HSSFRichTextString text = new HSSFRichTextString(headers[i][1]); cell.setCellValue(text); } String textValue = null; if(null != dataset){ Map<String, Object> map = new HashMap<String, Object>(); for(int i=0; i<dataset.size(); i++){ map = dataset.get(i); int index = 0; row = sheet.createRow(i + 1); for(int j=0; j<headers.length; j++){ textValue = map.get(headers[j][0]).toString(); if(null != textValue){ HSSFCell cell = row.createCell(index++); HSSFRichTextString richString = new HSSFRichTextString( textValue); HSSFFont font3 = workbook.createFont(); //font3.setColor(HSSFColor.BLUE.index); richString.applyFont(font3); cell.setCellValue(richString); } } } } try { response.reset(); response.setContentType("application/vnd..ms-excel"); response.setHeader("content-Disposition","attachment;filename="+URLEncoder.encode(title + ".xls","utf-8")); OutputStream out = response.getOutputStream(); workbook.write(out); out.flush(); } catch (IOException e) { e.printStackTrace(); } } }

相關推薦

springmvc + mybatis + poi匯出Excel例項

1、前端js程式碼: $("#fileExportAll").click(function(){ var start = $("#startDate").val(); var end = $("#endDate").val(

SpringMVC使用POI匯出Excel

對於現在大部分的應用管理系統中,會很多用到匯出Excel,這裡我根據專案整理了一下匯出的具體實現,匯出的列表可是任意的List<Object>,具體需要根據你自己需求而定(ExcelEntity),另外需要自己定義標題(List<String> tit

SpringMVC利用POI匯出EXCEL傳引數總結

前一篇介紹了利用POI匯出EXCEL的程式,基本都屬於後端的程式,這個找網上的例子一大堆, 今天跟大家聊聊,匯出的時候前臺的訪問方式有幾種。 一般來說利用POI匯出時, 前臺如果是$ajax的方式的話會報錯,程式返回後,前臺程式會自動走到error的判斷,返回報錯,或者返回

springmvcpoi匯出Excel表格

工具類的封裝如下:package com.bgs.util;import java.io.BufferedOutputStream;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream

實際專案中使用poi匯出excel(spring+springMVC+Mybatis環境下)

1,需要匯出的原始資料.即根據實際需求查詢得到的結果集作為原始資料.可能是一個list,map...看你封裝成什麼樣了(這裡是封裝成list了) 2,將原始的資料轉換到excel中,具體根據資料形式不同,寫法也會不同.不過這些都是大同小異的. 3,將生產好的excel檔案寫到一個路徑下(這裡都是放到t

【Java】SpringMVC整合poi實現excel的匯入匯出

2.特點:結構: HSSF - 提供讀寫Microsoft Excel格式檔案的功能。 XSSF - 提供讀寫Microsoft Excel OOXML格式檔案的功能。 HWPF - 提供讀寫Microsoft Word格式檔案的功能。 HSLF - 提供讀寫Microsof

springmvc 中使用poi匯出excel

看了一些poi匯出excel的部落格 原文地址         http://blog.csdn.net/wangchangpen62/article/details/44410967 匯出excel 工具類的寫法 package com.fuiou.MyProject.

菜鳥調錯——POI匯出Excel報錯No such file or directory

場景重現 Apache POI Linux Tomcat 如上所示,當時在linux+tomcat的環境下,使用apache的poi匯出excel的時候就會報“No such file or directory”的錯誤。 錯誤資訊 java.la

POI匯出excel表格優化

package com.ywj.excel; import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java

HSSFWorkbook(poi)匯出excel表格

本文與另一篇文章關聯: csv格式匯出excel報表 其中: String accountDate 入參(日期) AccountInfoEntityResp accountInfoEntityResp 匯出的xml報文內容(轉換成obj物件) xml報文解析見另一篇:x

java使用poi匯出excel例子

java匯出某個頁籤: 第一步:先在jsp新建一個匯出介面按鈕: <a id="export" class="mini-button" iconCls="icon-download" onclick="exportexcel();" plain="true">匯出</a>

Javaweb專案,簡單應用Apache POI匯出Excel的簡單例子

直接上程式碼: jsp: 說明:這裡使用ajax請求是會有問題的,會導致瀏覽器視窗不會彈出下載提示和選擇位址列的彈窗 //匯出 $('#btn-export').click(function () { location.href = "${pageContext.r

使用poi匯出excel檔案

一、獲取資料     private List<PmsrT2> getPmsrT2List(HttpServletRequest request) {         try {  &

Springmvc 使用 AbstractExcelView 匯出excel

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

poi匯出excel方式和疑難

最近由於公司要做什麼資訊安保,要對匯出的檔案進行加密操作,供應商提供的api對檔案進行加密需要檔案路徑,現有的匯出都直接輸出流解決,沒辦法只能改變匯出方法,在尋找好的匯出過程試過許多方式,也遇到很蛋疼的問題。 首先匯出excel的方式目前發現以下3種,1:最常用的輸出流形勢直接將檔案返回給客戶端。

POI匯出Excel簡單示例

 簡單示例,poi操作Excel實現中文列寬自適應。 maven專案,在pom.xml檔案中引入poi的jar包依賴。 非maven專案需要先下載poi相關jar包匯入。 <dependency> <groupId>org.apache.poi&

poi-匯出Excel

最新poi的jar包。與之前版本存在樣式設定區別 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apach

poi匯出excel縮放比例的問題

  某次修改了一下controller裡匯出清單的表格格式之後,就發現一直有這個問題,今天把手頭的活都處理完了就在找問題出在哪,好在匯出清單的格式寫在了兩個controller裡,對照一比較發現了問題,sheet.setZOOM(numerator:130,denominator:1)我原來是這樣寫的,這樣寫

poi匯出Excel Java POI匯入匯出Excel

Java POI匯入匯出Excel   1、異常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException     解決方法:     

springmvc 使用poi解析excel並通過hibernate連續插入多條數據 實際數據庫只能保存最後一條

mvc nbsp block png 技術 測試 info 保存 csdn 有一個原始數據的excel表 用poi解析之後通過hibernate插數據庫 結果 後來發現,有人說 果斷嘗試 問題解決 但是這好像並不是真正解決問題,只是解決了一個現象 因為有