java利用pol导出excel
jsp代碼
<script type="text/javascript">
//導出Excel數據?
function ShowExport() {
? ? ?$.ajax({
? ? ? ?type: "POST",
? ?url:'${pageContext.request.contextPath}/equipment/tableinfo/excelOut.do',
? ? ? ?success:function(data){
? ? ? ?
? ? ? ? window.location.href="/sncmcc-framework/equipment/tableinfo/excelDownload";
? ? ? ?
? ? ? ? ? ? } ?
? ?});
}
?
</script>
java代碼
@RequestMapping("/excelOut")
public String exportXxx1(HttpServletRequest request, HttpServletResponse response,
@RequestParam(value="scheduleId", defaultValue="0")int scheduleId)throws IOException{
?
?try {
? ?Page page = packingPage(request);?
PageList pageList = new PageList(page);
?List<StatementInfo> statementList = statementInfoMapper.getStatementList();
System.out.println("*****"+statementList);
? ?
// 聲明一個工作薄
HSSFWorkbook wb = new HSSFWorkbook();
//聲明一個單子并命名
HSSFSheet sheet = wb.createSheet();
//給單子名稱一個長度
sheet.setDefaultColumnWidth((short)10);
// 生成一個樣式 ?
HSSFCellStyle style = wb.createCellStyle();
//創建第一行(也可以稱為表頭)
HSSFRow row = sheet.createRow(0);
//樣式字體居中
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//創建HSSFCell對象 ?
? HSSFCell cell = row.createCell((short) 0);?
? ?//設置單元格內容 ?
? ?cell.setCellValue("物資報表");?
? ?cell.setCellStyle(style); ?
? ?//合并單元格CellRangeAddress構造參數依次表示起始行,截至行,起始列, 截至列 ?
? ?sheet.addMergedRegion(new CellRangeAddress(0,0,0,15)); ?
? ?//在sheet里創建第二行 ?
? ?HSSFRow row2=sheet.createRow(1);?
? ? ? ? ?//創建單元格并設置單元格內容 ?
? ? ? ? ?row2.createCell(0).setCellValue(" "); ?
? ? ? ? ?row2.createCell(1).setCellValue("寶塔中隊");
? ? ? ? ?row2.createCell(2).setCellValue("甘泉中對"); ?
? ? ? ? ?row2.createCell(3).setCellValue("姚店中隊 "); ?
? ? ? ? ?row2.createCell(4).setCellValue("洛川中隊"); ?
? ? ? ? ?row2.createCell(5).setCellValue("富縣中隊 "); ?
? ? ? ? ?row2.createCell(6).setCellValue("延長中隊 "); ? ? ?
? ? ? ? ?row2.createCell(7).setCellValue("延川中隊");?
? ? ? ? ?row2.createCell(8).setCellValue("子長中隊");?
? ? ? ? ?row2.createCell(9).setCellValue("志丹中隊");
? ? ? ? ?row2.createCell(10).setCellValue("黃陵中隊 "); ? ? ?
? ? ? ? ?row2.createCell(11).setCellValue("黃龍中隊"); ?
? ? ? ? ?row2.createCell(12).setCellValue("吳起中隊"); ?
? ? ? ? ?row2.createCell(13).setCellValue("安塞中隊"); ?
? ? ? ? ?row2.createCell(14).setCellValue("宜川中隊"); ? ? ?
? ? ? ? ?row2.createCell(15).setCellValue("特勤中隊");
? ? ? ? ?cell.setCellStyle(style);?
? ? ? ? ?
? ? ? ? ?for (int i = 0; i < statementList.size(); i++) {
String itemname=statementList.get(i).getMaterialname();
List<OrgItemNumber> itemNuber = statementService.getItemNuber(itemname);
System.out.println("+++++++++"+itemNuber);
for (int j = 0; j < itemNuber.size(); j++) {
if (itemNuber!=null) {
String orgname=itemNuber.get(j).getOrgcode();
?
if (orgname=="ORG-05BA426E-37FF-4DE4-B8AA-C7B9B9F7826F"
||"ORG-05BA426E-37FF-4DE4-B8AA-C7B9B9F7826F".equals(orgname)) {
statementList.get(i).setLuochuan(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-0F3912B2-A7AB-4991-8323-46FD7F90B753"
||"ORG-0F3912B2-A7AB-4991-8323-46FD7F90B753".equals(orgname)) {
statementList.get(i).setZichang(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-303C8629-FEBF-43CF-92F8-D569FB444F29"
||"ORG-303C8629-FEBF-43CF-92F8-D569FB444F29".equals(orgname)) {
statementList.get(i).setYaodian(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-841E59AE-7CDE-416B-99B9-5EC55D5DE8AE"
||"ORG-841E59AE-7CDE-416B-99B9-5EC55D5DE8AE".equals(orgname)) {
statementList.get(i).setWuqi(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-8CF8E262-4E5A-44B1-9FD8-CFB2B698491B"
||"ORG-8CF8E262-4E5A-44B1-9FD8-CFB2B698491B".equals(orgname)) {
statementList.get(i).setYanchang(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-8FF50BB4-8FD4-4917-8487-A13ECBB503AD"
||"ORG-8FF50BB4-8FD4-4917-8487-A13ECBB503AD".equals(orgname)) {
statementList.get(i).setBaota(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-92223A1B-7ADE-4C8A-87D7-AF0BAF78686B"
||"ORG-92223A1B-7ADE-4C8A-87D7-AF0BAF78686B".equals(orgname)) {
statementList.get(i).setZhidan(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-4C6ADBE3-6E31-4353-B762-0530FC14A19D"
||"ORG-4C6ADBE3-6E31-4353-B762-0530FC14A19D".equals(orgname)) {
statementList.get(i).setGanquan(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-9D22796C-0731-48DB-9144-91347131DA60"
||"ORG-9D22796C-0731-48DB-9144-91347131DA60".equals(orgname)) {
statementList.get(i).setYichuan(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-A17CA070-276C-4897-9BA9-F29C455FD052"
||"ORG-A17CA070-276C-4897-9BA9-F29C455FD052".equals(orgname)) {
statementList.get(i).setFuxian(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-A8DE0D31-3E12-4D84-8DDE-8110EA9978F6"
||"ORG-A8DE0D31-3E12-4D84-8DDE-8110EA9978F6".equals(orgname)) {
statementList.get(i).setTeqin(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-B2E3DEBF-8F84-492A-8C68-73DE2FD59F77"
||"ORG-B2E3DEBF-8F84-492A-8C68-73DE2FD59F77".equals(orgname)) {
statementList.get(i).setHuanglong(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-BB9DD56E-DE83-4935-9CB4-0126C27BF394"
||"ORG-BB9DD56E-DE83-4935-9CB4-0126C27BF394".equals(orgname)) {
statementList.get(i).setHuangling(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-E104485D-B1C2-45E1-B316-E70369CA8941"
||"ORG-E104485D-B1C2-45E1-B316-E70369CA8941".equals(orgname)) {
statementList.get(i).setYanchuan(itemNuber.get(j).getAmount());
}
if (orgname=="ORG-FDFC9D0D-6789-40F9-ADD3-8C87EAAA1502"
||"ORG-FDFC9D0D-6789-40F9-ADD3-8C87EAAA1502".equals(orgname)) {
statementList.get(i).setAnsai(itemNuber.get(j).getAmount());
}
?
? ? ? ? ? }
? ?}
? ?pageList.setObjectList(statementList);
? ?List<StatementInfo> s =pageList.getObjectList();
? ?for (int x = 0; x < s.size(); x++) {
String baota=s.get(x).getBaota();
String ganquan=s.get(x).getGanquan();
String yandian=s.get(x).getYaodian();
String luochuan=s.get(x).getLuochuan();
String fuxian=s.get(x).getFuxian();
String yanchang=s.get(x).getYanchang();
String yanchuan=s.get(x).getYanchuan();
String zichuang=s.get(x).getZichang();
String zhidan=s.get(x).getZhidan();
String huangling=s.get(x).getHuangling();
String huanglong=s.get(x).getHuanglong();
String wuqi = s.get(x).getWuqi();
String anzsai = s.get(x).getAnsai();
String yichuan = s.get(x).getYichuan();
String teqin = s.get(x).getTeqin();
String item = s.get(x).getMaterialname();
?
?//在sheet里創建第三行 ?
? ? ? ? ?//System.out.println("x="+x);
? ? ? ? ? ? ? ?HSSFRow row3=sheet.createRow(x+2); ?
? ? ? ? ? ? ? ?row3.createCell(0).setCellValue(item); ?
? ? ? ? ? ? ? ?row3.createCell(1).setCellValue(baota); ?
? ? ? ? ? ? ? ?row3.createCell(2).setCellValue(ganquan); ? ? ?
? ? ? ? ? ? ? ?row3.createCell(3).setCellValue(yandian);?
? ? ? ? ? ? ? ?row3.createCell(4).setCellValue(luochuan); ?
? ? ? ? ? ? ? ?row3.createCell(5).setCellValue(fuxian); ? ? ?
? ? ? ? ? ? ? ?row3.createCell(6).setCellValue(yanchang);?
? ? ? ? ? ? ? ?row3.createCell(7).setCellValue(yanchuan);?
? ? ? ? ? ? ? ?row3.createCell(8).setCellValue(zichuang); ?
? ? ? ? ? ? ? ?row3.createCell(9).setCellValue(zhidan); ? ? ?
? ? ? ? ? ? ? ?row3.createCell(10).setCellValue(huangling);?
? ? ? ? ? ? ? ?row3.createCell(11).setCellValue(huanglong); ?
? ? ? ? ? ? ? ?row3.createCell(12).setCellValue(wuqi); ? ? ?
? ? ? ? ? ? ? ?row3.createCell(13).setCellValue(anzsai);?
? ? ? ? ? ? ? ?row3.createCell(14).setCellValue(yichuan);?
? ? ? ? ? ? ? ?row3.createCell(15).setCellValue(teqin);?
? ? ? ? ? ? ? ?cell.setCellStyle(style);?
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?//輸出Excel文件 ?
? ? ? FileOutputStream output=new FileOutputStream("c:\\Material.xls"); ? ? ? ?
? ? ? ? ? ? ?wb.write(output); ?
? ? ? ? ? ? ?output.close(); ? ? ? ? ? ?
? ? ? ? ? ??
}
System.out.println("ok");
? ? ? ? ? }?
? ? ? return ?null;
} catch (Exception e) {
e.printStackTrace();
return this.returnResult(false, "數據查詢異常");
}
}
? ? ? ? ? ?
@RequestMapping("/excelDownload")
public void downloadLocal(HttpServletResponse response) throws FileNotFoundException {
? ? ? System.out.println("*********************");
// 下載本地文件
? ? ? ? String fileName = "Material.xls".toString(); // 文件的默認保存名
? ? ? ? ?// 讀到流中
? ? ? ? InputStream inStream = new FileInputStream("c:\\Material.xls");// 文件的存放路徑
? ? ? ? System.out.println("**********"+inStream);
? ? ? ? // 設置輸出的格式
? ? ? ? ?response.reset();
? ? ? ? response.setContentType("bin");
? ? ? ? response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
? ? ? ? // 循環取出流中的數據
? ? ? ? byte[] b = new byte[100];
? ? ? ? int len;
? ? ? ? try {
? ? ? ? ? ? while ((len = inStream.read(b)) > 0)
? ? ? ? ? ? ? ? response.getOutputStream().write(b, 0, len);
? ? ? ? ? ? inStream.close();
? ? ? ? ? ? System.out.println("****ok*****");
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }
總結
以上是生活随笔為你收集整理的java利用pol导出excel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 技术管理者的角色
- 下一篇: 大咖们都在用的三大引流拓客方案,学会一个