日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本黄色激情视频 | 韩国三级在线看 | 午夜激情国产 | 国产性猛交普通话对白 | 99色综合 | 精品人妻伦一区二区三区久久 | 法国空姐在线观看免费 | 色婷婷久久综合 | 一区二区三区精品视频 | 久久看片 | 国产情侣第一页 | 黄色片视频免费 | 日韩精品在线观看一区二区三区 | 91久色视频 | 日本一区不卡 | 亚洲av无码精品色午夜 | 中文字幕va | 成人激情视频网站 | 性生活一级大片 | 亚洲欧美综合色 | 国产在线观看免费播放 | 不卡中文字幕在线 | 国产成人tv| 理论片午午伦夜理片影院99 | 美女十八毛片 | 四虎色播 | 欧美一区二三区 | 男女激情实录 | 亚洲欧洲精品成人久久奇米网 | 日产精品久久久一区二区 | 国产精品1区2区 | 老太太av | 久久久久五月 | 91黄色看片 | 欧美色图在线播放 | 男人和女人日批 | 色噜噜在线播放 | 久热国产在线 | 东方影库av| 亚洲精品福利在线观看 | 在线国产播放 | 精品欧美激情精品一区 | 欧美日本综合 | 免费观看日韩av | 亚洲成熟丰满熟妇高潮xxxxx | 偷拍自拍一区 | 秋霞毛片 | 欧美理伦片在线播放 | 日韩电影中文字幕在线观看 | 欧美无砖砖区免费 | 亚洲黄站 | 国产精品美女久久久 | www.黄色网址| 国产av无码专区亚洲精品 | 国产成人精品123区免费视频 | 国产视频在线免费观看 | 成人免费毛片日本片视频 | 国产电影一区在线观看 | 成人在线播放网站 | 高潮流白浆在线观看 | 永久免费不卡在线观看黄网站 | 特黄级 | 丁香激情五月少妇 | 午夜在线观看免费视频 | 国产丝袜高跟 | 免费色播| 亚洲一品道| 成人宗合网 | 久久精彩免费视频 | 成人做爰69片免费 | 在线一本| 国产精品视频自拍 | 欧美暧暧视频 | 国产无精乱码一区二区三区 | 女生喷液视频 | 老司机福利院 | 在线免费av观看 | 欧美三级网站 | 性欧美丰满熟妇xxxx性久久久 | 日韩成人影视 | 精品无码av一区二区三区四区 | 免费久久精品 | 午夜精品久久久久久久蜜桃 | 中文在线观看高清视频 | 久久久精品亚洲 | 在线播放日本 | 夜夜春很很躁夜夜躁 | 91精品一区二区三区在线观看 | 精品成人免费一区二区在线播放 | 99热在线这里只有精品 | 最新版天堂资源在线 | 日本乱码一区二区 | 午夜视频在线观看一区二区 | 国产一区二区三区高清 | 青草精品视频 | av成人在线电影 | 天天做天天干 | 国产超91| 999国产在线 |