使用Apache POI技術把資料庫中的資料匯入Excel表
首先還是匯入需要的jar包,上一篇部落格裡有
有兩種實現方法
方法一,
第一步:查詢所有的分割槽資料
第二步:使用POI將資料寫到Excel檔案中
第三步:使用輸出流進行檔案下載
附:FileUtils類/** * 分割槽資料匯出功能 * @throws IOException */ public String exportXls() throws IOException{ //第一步:查詢所有的分割槽資料 List<Subarea> list = subareaService.findAll(); //第二步:使用POI將資料寫到Excel檔案中 //在記憶體中建立一個Excel檔案 HSSFWorkbook workbook = new HSSFWorkbook(); //建立一個標籤頁 HSSFSheet sheet = workbook.createSheet("分割槽資料"); //建立標題行 HSSFRow headRow = sheet.createRow(0); headRow.createCell(0).setCellValue("分割槽編號"); headRow.createCell(1).setCellValue("開始編號"); headRow.createCell(2).setCellValue("結束編號"); headRow.createCell(3).setCellValue("位置資訊"); headRow.createCell(4).setCellValue("省市區"); for (Subarea subarea : list) { HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1); dataRow.createCell(0).setCellValue(subarea.getId()); dataRow.createCell(1).setCellValue(subarea.getStartnum()); dataRow.createCell(2).setCellValue(subarea.getEndnum()); dataRow.createCell(3).setCellValue(subarea.getPosition()); dataRow.createCell(4).setCellValue(subarea.getRegion().getName()); } //第三步:使用輸出流進行檔案下載(一個流、兩個頭) String filename = "分割槽資料.xls"; String contentType = ServletActionContext.getServletContext().getMimeType(filename); ServletOutputStream out = ServletActionContext.getResponse().getOutputStream(); ServletActionContext.getResponse().setContentType(contentType); //獲取客戶端瀏覽器型別 String agent = ServletActionContext.getRequest().getHeader("User-Agent"); filename = FileUtils.encodeDownloadFilename(filename, agent); ServletActionContext.getResponse().setHeader("content-disposition", "attachment;filename="+filename); workbook.write(out); return NONE; }
import java.io.IOException; import java.net.URLEncoder; import sun.misc.BASE64Encoder; public class FileUtils { /** * 下載檔案時,針對不同瀏覽器,進行附件名的編碼 * * @param filename * 下載檔名 * @param agent * 客戶端瀏覽器 * @return 編碼後的下載附件名 * @throws IOException */ public static String encodeDownloadFilename(String filename, String agent) throws IOException { if (agent.contains("Firefox")) { // 火狐瀏覽器 filename = "=?UTF-8?B?" + new BASE64Encoder().encode(filename.getBytes("utf-8")) + "?="; filename = filename.replaceAll("\r\n", ""); } else { // IE及其他瀏覽器 filename = URLEncoder.encode(filename, "utf-8"); filename = filename.replace("+"," "); } return filename; } }
方法二,
第一步:查詢所有的分割槽資料
第二步:查詢結束進行頁面跳轉,在跳轉的頁面進行檔案下載。
//查詢所有
public String findAll() throws IOException{
subs=ss.findAll();
return "findAll";
}
跳轉後的jsp頁面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <% response.setContentType("application/vnd.ms-excel");/*作用是使客戶端瀏覽器,區分不同種類的資料,並根據不同的MIME呼叫瀏覽器內不同的程式嵌入模組來處理相應的資料。 */ response.setHeader("Content-Disposition", "inline;filename=excel.xls");/*設定響應頭資訊,設定傳送到前端瀏覽器時的文件名為excel.xls,讓前端瀏覽器以為接收到一個excel文件 */ %> <body> <table> <thead> <tr></tr> </thead> <tbody> <c:forEach items="${subs }" var="sub"> <tr> <td>${sub.id }</td> <td>${sub.decidedzone }</td> <td>${sub.region.city }</td> <td>${sub.addresskey }</td> <td>${sub.endnum }</td> <td>${sub.single }</td> <td>${sub.position }</td> </tr> </c:forEach> </tbody> </table> </body> </html>
需要注意,使用方法二要保證電腦上有Microsoft Excel軟體,否則可能會下載失敗。
相關推薦
使用Apache POI技術把資料庫中的資料匯入Excel表
首先還是匯入需要的jar包,上一篇部落格裡有 有兩種實現方法 方法一, 第一步:查詢所有的分割槽資料 第二步:使用POI將資料寫到Excel檔案中 第三步:使用輸出流進行檔案下載 /** *
SpringMVC 實現POI讀取Excle檔案中資料匯入資料庫(上傳)、匯出資料庫中資料到Excle檔案中(下載)
package com.shiliu.game.utils; import java.io.OutputStream; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import
一個php檔案就可以把資料庫的資料匯出Excel表格
資料庫內容太多,複製貼上太麻煩?那就用程式碼實現把,把程式碼寫好了,匯出還不容易嗎,訪問即可匯出。 excel.php <?php error_reporting(E_ALL ^ E_DEPRECATED); $localhost = '資料庫地址'; $dbnam
springboot實現資料庫中資料匯出Excel功能
功能介紹 網上查找了一堆的資料匯出程式碼,可能是自己基礎比較薄弱的原因還是別的什麼原因,導致一直沒有執行成功,就算是執行成功的,結果也是差強人意。在此總結一下自己借鑑別人已經經過自己整合
C#把txt的資料匯入excel,用逗號分隔
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;
通過web伺服器訪問MySQL資料庫,並把資料庫中的某張表解析成xml格式輸出到瀏覽器
可以先想象一下,客戶端用到遠端資料庫中的資訊比如Menu表中的資訊,怎麼獲取呢?可以通過web伺服器獲取。這就需要寫一個繼承 HttpServlet的抽象類,並且重寫doGet()和doPost()方法。 下面就是此類的具體實現: public class Updat
POI技術匯出資訊到.xls .xlsx Excel表
2、Controller層// 單號資訊service @Autowired public OrderService orderService ; //服務層改為自己的 /** * 匯出訂單資訊到Excel表 * @author Justin */ @RequestMapping("o
Java將Excel表格中資料匯入至資料庫中的表中
上一節介紹了Java將資料庫表中資料匯出至Excel表格,那麼本節來介紹它的逆過程,也就是將Excel表格中的資料逐行匯入資料庫中的表中,依然需要使用Apache的POI,上一節已經說過也附了這個jar包的下載地址,這一節就不過多的說,直接講如
navicate 匯入Excel 資料到 mysql 資料庫中出現匯入資料失敗,只能顯示錶頭等情況。
是由於當初建庫的時候沒有設定預設的編碼格式,就會導致匯入Excel(含有中文)失敗; 失敗的建庫語句: create database mydatabase; 正確的建庫語句: create database
postgresql 資料庫中資料的匯入匯出(簡單操作+示例)
$ su postgresql #切換到psql使用者下</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-
spring-boot使用JDBC技術從資料庫中取資料
直接上程式碼把 1,目錄結構 2,程式碼 結果:返回的是一個一維陣列。 如果把資料庫中所有資料以多維陣列形式返回,就要使用到map對映技術,如下所示: 第二種:設定資料庫帳號密碼的方法 第三鍾設定資料庫帳號密碼
【轉載】怎樣把Oracle的資料匯入到SQLServer2005中
怎樣把Oracle的資料匯入到SQLServer2005中 例子:把Oracle的CH330300資料庫的資料匯入到SQLServer2005的Temp資料庫 在本機測試一直沒有成功,一直顯示各種錯誤,網上查詢各種方法無果,下載了ORACLE WIN7 64位客戶端也沒有解決問題,根本就看不到ORACLE的
xml與資料庫中資料的匯入匯出
這是我一個晚上做出來的,因為要去做其他的專案,所以只實現了對特定資料庫的xml操作,不過我覺得這是學習xml挺不錯的參考程式碼和文件 使用說明: 要先匯入xml.sql資料庫,可以用navicat匯入,然後執行java專案就可以,這是java+mysql資料庫實現的
使用C#將Excel檔案中資料匯入SQL Server資料庫
由於專案中加入了新的功能,可以使管理員向資料庫中匯入Excel資料。因此,在商品管理這塊需要對Excel進行操作,在網上查了些資料,根據專案的實際情況進行了一定的優化,這裡簡單的介紹下。 C#程式碼 /// <summary> /// 上傳Excel檔案,並將資
用SQL語句將遠端SQL Server資料庫中表資料匯入到本地資料庫相應的表中
exec sp_addlinkedserver ‘名稱’,”,’SQLOLEDB’,'遠端資料庫的地址’ exec sp_addlinkedsrvlogin ‘名稱’,'false’,'本地使用者名稱稱’,'遠端使用者名稱稱’,'遠端使用者密碼’ 2、倒入表 insert
怎麼把sql server資料匯入mysql本地資料庫?
tuimu-dev資料庫是mysql資料庫,下面的sqlserver資料庫是sqlserver的,而我要把sqlserver裡面的AIMSEN_BASE表裡面的accont資料導進來,如下圖:選中tuimu-dev-----然後直接下一步。。。。。。 最後 一個按鈕 開
如何把資料庫中的String型別的資料在jsp頁面上轉化為date型別的資料
<span style="font-size:18px;">jsp頁面引入:<<a target=_blank href="mailto:%@taglib">%@tagl
在ASP.NET中將Excel檔案中資料匯入資料庫並顯示進度條
在ASP.NET中經常會遇到Excel檔案匯入資料庫的問題,遇到資料量比較大的時候,最好顯示進度條。 進度條設計是參考網上某牛人提供的程式碼,利用JS實現的,謝謝這個大牛了(忘記了當時記錄下他的大名了,:()。具體思路:首先將後臺伺服器上ProgressBar.htm 頁面內
惠州學院-資料庫實驗4-資料庫中資料檢視的使用
計算機科學系實驗報告(首頁) 課程名稱 資料庫系統概論 班級 14計科2班 實驗名稱 資料庫中資料檢視的使用
惠州學院-資料庫實驗3-資料庫中資料的更新
計算機科學系實驗報告(首頁) 課程名稱 資料庫系統概論 班級 14計科2班 實驗名稱 資料庫中資料的更新