日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

poi 设置word表格颜色_POI工具练习

發(fā)布時間:2025/3/12 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 poi 设置word表格颜色_POI工具练习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

POI是一個可以對excel文件進行操作的jar包,使用它可以幫助我們對excel進行操作,也就可以幫助我們實現(xiàn)在jsp頁面添加導入數(shù)據(jù)的功能。只要我們在控制層servlet中加入處理的方法就可以了;首先使用到POI都會與JXL進行對比:查閱之后大致是這樣的

一、jxl優(yōu)點:Jxl對中文支持非常好,操作簡單,方法看名知意。

Jxl是純javaAPI,在跨平臺上表現(xiàn)的非常完美。 支持字體、數(shù)字、日期操作,能夠修飾單元格屬性, 支持圖像和圖表,但是這套API對圖形和圖表的支持很有限,而且僅僅識別PNG格式。缺點:效率低,圖片支持不完善,對格式的支持不如POI強大

二、POI優(yōu)點:效率高。支持公式,宏,一些企業(yè)應用上會非常實用 ,能夠修飾單元格屬性。 支持字體、數(shù)字、日期操作。缺點:不成熟,代碼不能跨平臺。

是具體使用那個包,看你使用的具體情況來定。下面是POI工具類的使用

POI工具類為:

import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List;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.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.ss.util.CellRangeAddress; /*OutputStream out = response.getOutputStream();//response.reset();response.setContentType("application/vnd.ms-excel");response.setHeader("Content-disposition", "attachment; fileName=" + new String(("duty.xls").getBytes(), "iso8859-1"));// OutputStream outputStream = new FileOutputStream("D:/students.xls");workbook.write(out);out.close();*/ public class ExcelOperate {public static void main(String[] args) {// 創(chuàng)建Excel表格createExcel(getStudent());// 讀取Excel表格// List<Student> list = readExcel();// System.out.println(list.toString());}/*** 初始化數(shù)據(jù)* * @return 數(shù)據(jù)*/private static List<Student> getStudent() {List<Student> list = new ArrayList<Student>();Student student1 = new Student("小明", 8, "二年級");Student student2 = new Student("小光", 9, "三年級");Student student3 = new Student("小花", 10, "四年級");list.add(student1);list.add(student2);list.add(student3);return list;}/*** 創(chuàng)建Excel* * @param list* 數(shù)據(jù)*/private static void createExcel(List<Student> list) {// 創(chuàng)建一個Excel文件HSSFWorkbook workbook = new HSSFWorkbook();// 創(chuàng)建一個工作表HSSFSheet sheet = workbook.createSheet("學生表一");CellRangeAddress region = new CellRangeAddress(0, // first row0, // last row0, // first column2 // last column);sheet.addMergedRegion(region);HSSFRow hssfRow = sheet.createRow(0);HSSFCell headCell = hssfRow.createCell(0);headCell.setCellValue("學生列表");// 設(shè)置單元格格式居中HSSFCellStyle cellStyle = workbook.createCellStyle();cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);/*cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);// cellStyle.setFillBackgroundColor(HSSFColor.GREEN.index);cellStyle.setFillForegroundColor(HSSFColor.GREEN.index);HSSFFont font = workbook.createFont();font.setFontName("楷體"); //字體font.setFontHeightInPoints((short)30); //字體大小font.setColor(HSSFColor.RED.index);//顏色font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗font.setItalic(true); //傾斜cellStyle.setFont(font);*/headCell.setCellStyle(cellStyle);// 添加表頭行hssfRow = sheet.createRow(1);// 添加表頭內(nèi)容headCell = hssfRow.createCell(0);headCell.setCellValue("姓名");headCell.setCellStyle(cellStyle);headCell = hssfRow.createCell(1);headCell.setCellValue("年齡");headCell.setCellStyle(cellStyle);headCell = hssfRow.createCell(2);headCell.setCellValue("年級");headCell.setCellStyle(cellStyle);// 添加數(shù)據(jù)內(nèi)容for (int i = 0; i < list.size(); i++) {hssfRow = sheet.createRow((int) i + 2);Student student = list.get(i);// 創(chuàng)建單元格,并設(shè)置值HSSFCell cell = hssfRow.createCell(0);cell.setCellValue(student.getName());cell.setCellStyle(cellStyle);cell = hssfRow.createCell(1);cell.setCellValue(student.getAge());cell.setCellStyle(cellStyle);cell = hssfRow.createCell(2);cell.setCellValue(student.getGrade());cell.setCellStyle(cellStyle);}// 保存Excel文件try {OutputStream outputStream = new FileOutputStream("D:/students.xls");workbook.write(outputStream);outputStream.close();} catch (Exception e) {e.printStackTrace();}}/*** 讀取Excel* * @return 數(shù)據(jù)集合*/private static List<Student> readExcel() {List<Student> list = new ArrayList<Student>();HSSFWorkbook workbook = null;try {// 讀取Excel文件InputStream inputStream = new FileInputStream("D:/students.xls");workbook = new HSSFWorkbook(inputStream);inputStream.close();} catch (Exception e) {e.printStackTrace();}// 循環(huán)工作表for (int numSheet = 0; numSheet < workbook.getNumberOfSheets(); numSheet++) {HSSFSheet hssfSheet = workbook.getSheetAt(numSheet);if (hssfSheet == null) {continue;}// 循環(huán)行for (int rowNum = 2; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {HSSFRow hssfRow = hssfSheet.getRow(rowNum);if (hssfRow == null) {continue;}// 將單元格中的內(nèi)容存入集合Student student = new Student();HSSFCell cell = hssfRow.getCell(0);if (cell == null) {continue;}student.setName(cell.getStringCellValue());cell = hssfRow.getCell(1);if (cell == null) {continue;}student.setAge((int) cell.getNumericCellValue());cell = hssfRow.getCell(2);if (cell == null) {continue;}student.setGrade(cell.getStringCellValue());list.add(student);}}return list;} }class Student {private String name;private int age;private String grade;public Student() {}public Student(String name, int age, String grade) {super();this.name = name;this.age = age;this.grade = grade;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGrade() {return grade;}public void setGrade(String grade) {this.grade = grade;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", grade=" + grade+ "]";} }

這個里面是具體的用法,與對一個學生列表實現(xiàn)的案例;使用該工具我們只要在servelt中調(diào)用工具類的創(chuàng)建excel與實現(xiàn)excel的方法即可;就像:

DutyService ds=new DutyServiceImpl();List<Duty> dutyList=ds.findBy(empId,deptno,dtDate);//返回輸出流createExcel(dutyList,resp);

我將查詢返回到的列表傳輸?shù)絼?chuàng)建excel的方法,并且對excel的方法進行了重寫,在與前臺頁面進行交互的時候,因為要對客戶端進行寫入操作,而不是對服務器端進行操作,所以我將response也傳入進去,因為我們不能簡單對返回的數(shù)據(jù)進行重定向或者請求轉(zhuǎn)發(fā)操作,而是以流的方式寫回去

try {resp.setContentType("application/vnd.ms-excel");//聲明導出excelresp.setHeader("Content-disposition", "attachment;filename=duty.xls");//附件形式下載包括名字//OutputStream outputStream = new FileOutputStream("D:/kaoqin.xls");ServletOutputStream outputStream = resp.getOutputStream();workbook.write(outputStream);outputStream.close();} catch (Exception e) {e.printStackTrace();}

總結(jié)

以上是生活随笔為你收集整理的poi 设置word表格颜色_POI工具练习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 好吊妞视频在线观看 | 亚洲免费观看高清在线观看 | 成人在线观看h | 国产精品无码久久久久高潮 | 亚洲一区有码 | 超碰凹凸 | 免费av视屏 | 夜夜爽网站 | 女优在线观看 | 国产欧美一区二区三区沐欲 | 波多野结衣一级 | 可以免费观看的av网站 | 亚洲成人免费在线视频 | 欧美日韩图片 | 国产精品ⅴa有声小说 | а√天堂8资源中文在线 | 99热综合 | 国产精品人人爽 | 国产免费一区二区三区在线观看 | 国产精品爽爽爽 | 毛片视频免费观看 | 久久深夜福利 | 桃谷绘里香番号 | 91午夜视频在线观看 | 任你操精品视频 | 情侣在线视频 | 精品国产乱码久久久久久鸭王1 | 碰碰色| 国产伦精品一区二区三区在线 | 久伊人网 | 亚洲第一色网站 | 国产黄色大片在线观看 | 欧美黑人一区二区 | 国产精品久久久久毛片软件 | 毛片毛多水多 | 成人国产片女人爽到高潮 | 国产成人免费网站 | 中文字幕精品一区二区三区视频 | 欧美精品一区二区在线观看 | 色婷婷精品视频 | 国产chinesehd精品 | 96精品在线| 91九色蝌蚪 | 久久情趣视频 | 成人福利视频导航 | 自偷自拍亚洲 | 宅男噜噜噜66一区二区 | 久久久久亚洲AV成人 | 特级毛片在线 | 在线看国产精品 | 中文字幕精品一区二 | 午夜在线免费视频 | 91丨porny丨露出 | 欧美国产免费 | 亚洲一本在线观看 | 成人在线视频免费 | 久久偷看各类wc女厕嘘嘘偷窃 | 穿情趣内衣被c到高潮视频 欧美性猛交xxxx黑人猛交 | 精品少妇白浆小泬60P | 欧美一区二区三区四区视频 | 一级性视频 | 伊人激情| 丁香啪啪 | 182午夜视频| 久草高清视频 | 亚洲熟妇毛茸茸 | 亚洲成人av免费在线观看 | 精品午夜一区二区 | 日韩r级电影在线观看 | 三级av网址 | 亚洲第一天堂影院 | 成人看| 男人的天堂手机在线 | 欧美乱日 | 中文精品视频 | 在线国产欧美 | 精品人妻少妇AV无码专区 | 日韩色道| 亚洲好看站 | www一区| 久久官网| 日本亚洲欧美 | 帮我拍拍漫画全集免费观看 | 国产日韩在线观看一区 | 手机看片日韩国产 | 中文字幕mv| 丁香美女社区 | 欧美成人免费在线视频 | 中文字幕 自拍偷拍 | 毛片你懂的 | 四虎黄色影视 | 高跟91娇喘 | 欧美区国产区 | 久久久久国产精品熟女影院 | 色男人的天堂 | 超碰色人阁| 欧美成人aaaaⅴ片在线看 | 黄色片免费在线观看 | 亚洲一级色 |