888亚洲欧美国产VA在线播放 ,亚洲av综合色区,开心五月综合亚洲,亚洲日韩天堂网中文字幕

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

EXCEL文件軟件利用POI模板導(dǎo)出

本篇文章給大家分享的是有關(guān)EXCEL文件軟件利用POI模板導(dǎo)出,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)鄭州服務(wù)器托管報價,主機托管價格性價比高,為金融證券行業(yè)服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。

一般的EXCEL導(dǎo)出使用POI先創(chuàng)建一個HSSFWorkbook,然后通過不斷創(chuàng)建HSSFRow,HSSFCell后設(shè)置單元格內(nèi)容便可以完成導(dǎo)出。

這次在項目中需要用到模板,導(dǎo)出的內(nèi)容包括(1.模板中的內(nèi)容、樣式。2.自己需要新增的內(nèi)容、樣式。),還需要設(shè)置單元格的樣式,在網(wǎng)上搜了一些blog,完成后記錄一下。

分析這次需求,最關(guān)鍵的就是如何獲取到填充了模板的新HSSFWorkbook,如果獲取到它,我們可以熟練的往里面添加內(nèi)容。

File fi = new File("F:/usr/user.xls");
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(fi)); 
HSSFWorkbook wb = new HSSFWorkbook(fs);

這樣便可以獲取到我們熟悉的HSSFWorkbook對象了,操作熟悉的HSSFWorkbook對象想必爽歪歪了。這里還有一個需求,就是需要設(shè)置一些單元格的樣式,這在之前我也沒有接觸到過,記錄下來。

//生成單元格樣式
HSSFCellStyle cellStyle = wb.createCellStyle(); //wb是上一步創(chuàng)建的HSSFWorkbook對象
//設(shè)置背景顏色
cellStyle.setFillForegroundColor(HSSFColor.RED.index);
//solid 填充 foreground 前景色
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

這樣便創(chuàng)建完成了一個單元格的樣式,接下來便是在特定的單元格添加樣式。

//獲取特定的單元格
HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum); 
//設(shè)置樣式
cell.setCellStyle(cellStyle); //cellStyle是上一步創(chuàng)建的HSSFCellStyle對象 

如此,整個需求基本完成。對于整個過程中需要用到的其他方法,這里寫了一個封裝類。

**  有些方法可能只適用此項目,使用時需要修改。

package com.pole.educate.excel;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
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;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.RichTextString; 
/** 
 * 共分為六部完成根據(jù)模板導(dǎo)出excel操作:
* 第一步、設(shè)置excel模板路徑(setSrcPath)
* 第二步、設(shè)置要生成excel文件路徑(setDesPath)
* 第三步、設(shè)置模板中哪個Sheet列(setSheetName)
* 第四步、獲取所讀取excel模板的對象(getSheet)
* 第五步、設(shè)置數(shù)據(jù)(分為6種類型數(shù)據(jù):setCellStrValue、setCellDateValue、setCellDoubleValue、setCellBoolValue、setCellCalendarValue、setCellRichTextStrValue)
* 第六步、完成導(dǎo)出 (exportToNewFile)
* * @author Administrator * */ public class ExcelWriter { POIFSFileSystem fs = null; HSSFWorkbook wb = null; HSSFSheet sheet = null; HSSFCellStyle cellStyle = null; private String srcXlsPath = "";// excel模板路徑 private String desXlsPath = ""; // 生成路徑 private String sheetName = ""; /** * 第一步、設(shè)置excel模板路徑 * @param srcXlsPaths */ public void setSrcPath(String srcXlsPaths) { this.srcXlsPath = srcXlsPaths; } /** * 第二步、設(shè)置要生成excel文件路徑 * @param desXlsPaths * @throws FileNotFoundException */ public void setDesPath(String desXlsPaths) throws FileNotFoundException { this.desXlsPath = desXlsPaths; } /** * 第三步、設(shè)置模板中哪個Sheet列 * @param sheetName */ public void setSheetName(String sheetName) { this.sheetName = sheetName; } /** * 第四步、獲取所讀取excel模板的對象 */ public void getSheet() { try { File fi = new File(srcXlsPath); if(!fi.exists()){ //System.out.println("模板文件:"+srcXlsPath+"不存在!"); return; } fs = new POIFSFileSystem(new FileInputStream(fi)); wb = new HSSFWorkbook(fs); sheet = wb.getSheet(sheetName); //生成單元格樣式 cellStyle = wb.createCellStyle(); //設(shè)置背景顏色 cellStyle.setFillForegroundColor(HSSFColor.RED.index); //solid 填充 foreground 前景色 cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * */ public HSSFRow createRow(int rowIndex) { HSSFRow row = sheet.createRow(rowIndex); return row; } /** * */ public void createCell(HSSFRow row,int colIndex) { row.createCell(colIndex); } /** * 第五步、設(shè)置單元格的樣式 * @param rowIndex 行值 * @param cellnum 列值 */ public void setCellStyle(int rowIndex, int cellnum) { HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum); cell.setCellStyle(cellStyle); } /** * 第五步、設(shè)置字符串類型的數(shù)據(jù) * @param rowIndex 行值 * @param cellnum 列值 * @param value 字符串類型的數(shù)據(jù) */ public void setCellStrValue(int rowIndex, int cellnum, String value) { if(value != null) { HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum); cell.setCellValue(value); } } /** * 第五步、設(shè)置日期/時間類型的數(shù)據(jù) * @param rowIndex 行值 * @param cellnum 列值 * @param value 日期/時間類型的數(shù)據(jù) */ public void setCellDateValue(int rowIndex, int cellnum, Date value) { HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum); cell.setCellValue(value); } /** * 第五步、設(shè)置浮點類型的數(shù)據(jù) * @param rowIndex 行值 * @param cellnum 列值 * @param value 浮點類型的數(shù)據(jù) */ public void setCellDoubleValue(int rowIndex, int cellnum, double value) { HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum); cell.setCellValue(value); } /** * 第五步、設(shè)置Bool類型的數(shù)據(jù) * @param rowIndex 行值 * @param cellnum 列值 * @param value Bool類型的數(shù)據(jù) */ public void setCellBoolValue(int rowIndex, int cellnum, boolean value) { HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum); cell.setCellValue(value); } /** * 第五步、設(shè)置日歷類型的數(shù)據(jù) * @param rowIndex 行值 * @param cellnum 列值 * @param value 日歷類型的數(shù)據(jù) */ public void setCellCalendarValue(int rowIndex, int cellnum, Calendar value) { HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum); cell.setCellValue(value); } /** * 第五步、設(shè)置富文本字符串類型的數(shù)據(jù)??梢詾橥粋€單元格內(nèi)的字符串的不同部分設(shè)置不同的字體、顏色、下劃線 * @param rowIndex 行值 * @param cellnum 列值 * @param value 富文本字符串類型的數(shù)據(jù) */ public void setCellRichTextStrValue(int rowIndex, int cellnum, RichTextString value) { HSSFCell cell = sheet.getRow(rowIndex).getCell(cellnum); cell.setCellValue(value); } /** * 第六步、完成導(dǎo)出 */ public void exportToNewFile() { FileOutputStream out; try { out = new FileOutputStream(desXlsPath); wb.write(out); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }

以上就是EXCEL文件軟件利用POI模板導(dǎo)出,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享文章:EXCEL文件軟件利用POI模板導(dǎo)出
本文鏈接:http://www.rongbeizhuangshi.cn/article/ipscss.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP