java解析并且操作excel 方法

上传人:luoxia****01803 文档编号:65840293 上传时间:2019-01-02 格式:DOCX 页数:42 大小:82.78KB
返回 下载 相关 举报
java解析并且操作excel 方法_第1页
第1页 / 共42页
java解析并且操作excel 方法_第2页
第2页 / 共42页
java解析并且操作excel 方法_第3页
第3页 / 共42页
java解析并且操作excel 方法_第4页
第4页 / 共42页
java解析并且操作excel 方法_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《java解析并且操作excel 方法》由会员分享,可在线阅读,更多相关《java解析并且操作excel 方法(42页珍藏版)》请在金锄头文库上搜索。

1、java解析并且操作excel 方法 最近需求变化,需要把excel导入 我以前没有做过,所以我查了一些资料 和参考别人的代码以下是多种方式:import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;import java.util.List;import jxl.Workbook;import jxl.format.UnderlineStyle;import jxl.write.

2、Label;import jxl.write.WritableFont;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.WriteException;import jxl.write.biff.RowsExceededException;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf

3、.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.poifs.filesystem.POIFSFileSystem;public class ExcelOpt /* 生成一个Excel文件 jxl* param fileName 要生成的Excel文件名 * jxl.jar 版本:2.6 */ public static void writeExcel(String fi

4、leName) WritableWorkbook wwb = null; try /首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象 wwb = Workbook.createWorkbook(new File(fileName); catch (IOException e) e.printStackTrace(); if(wwb!=null) /创建一个可写入的工作表 /Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置 WritableSheet ws = wwb.createSheet(工作表名

5、称, 0); /下面开始添加单元格 for(int i=0;i10;i+) for(int j=0;j5;j+) /这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行 Label labelC = new Label(j, i, 这是第+(i+1)+行,第+(j+1)+列); try /将生成的单元格添加到工作表中 ws.addCell(labelC); catch (RowsExceededException e) e.printStackTrace(); catch (WriteException e) e.printStackTrace(); try /从内存中写入文件中

6、wwb.write(); /关闭资源,释放内存 wwb.close(); catch (IOException e) e.printStackTrace(); catch (WriteException e) e.printStackTrace(); /* * 生成一个Excel文件POI* param inputFile 输入模板文件路径 * param outputFile 输入文件存放于服务器路径 * param dataList 待导出数据 * throws Exception * roseuid: */ public static void exportExcelFile(Strin

7、g inputFile,String outputFile,List dataList) throws Exception/用模板文件构造poi POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(inputFile);/创建模板工作表 HSSFWorkbook templatewb = new HSSFWorkbook(fs);/直接取模板第一个sheet对象 HSSFSheet templateSheet = templatewb.getSheetAt(1);/得到模板的第一个sheet的第一行对象 为了得到模板样式 H

8、SSFRow templateRow = templateSheet.getRow(0);/HSSFSheet timplateSheet = templatewb.getSheetAt(1); /取得Excel文件的总列数 int columns = templateSheet.getRow(short) 0).getPhysicalNumberOfCells();/ Debug.println(columns is : + columns); /=/创建样式数组 HSSFCellStyle styleArray = new HSSFCellStylecolumns;/一次性创建所有列的样式

9、放在数组里 for (int s = 0; s columns; s+) /得到数组实例 styleArrays = templatewb.createCellStyle();/循环对每一个单元格进行赋值 /定位行 for (int rowId = 1; rowId dataList.size(); rowId+) /依次取第rowId行数据 每一个数据是valueList List valueList = (List) dataList.get(rowId - 1);/定位列 for (int columnId = 0; columnId columns; columnId+) /依次取出对

10、应与colunmId列的值 /每一个单元格的值 String dataValue = (String) valueList.get(columnId);/取出colunmId列的的style /模板每一列的样式 HSSFCellStyle style = styleArraycolumnId;/取模板第colunmId列的单元格对象 /模板单元格对象 HSSFCell templateCell = templateRow.getCell(short) columnId);/创建一个新的rowId行 行对象 /新建的行对象 HSSFRow hssfRow = templateSheet.crea

11、teRow(rowId);/创建新的rowId行 columnId列 单元格对象 /新建的单元格对象 HSSFCell cell = hssfRow.createCell(short) columnId);/如果对应的模板单元格 样式为非锁定 if (templateCell.getCellStyle().getLocked() = false) /设置此列style为非锁定 style.setLocked(false);/设置到新的单元格上 cell.setCellStyle(style);/否则样式为锁定 else /设置此列style为锁定 style.setLocked(true);/

12、设置到新单元格上 cell.setCellStyle(style);/设置编码 cell.setEncoding(HSSFCell.ENCODING_UTF_16);/Debug.println(dataValue : + dataValue); /设置值 统一为String cell.setCellValue(dataValue);/设置输入流 FileOutputStream fOut = new FileOutputStream(outputFile);/将模板的内容写到输出文件上 templatewb.write(fOut);fOut.flush();/操作结束,关闭文件 fOut.c

13、lose(); /* 导出数据为XLS格式* param fos 生成Excel文件Path* param bo 要导入的数据*/public static void writeExcelBo(String fos, java.util.List ve)jxl.write.WritableWorkbook wwb;trywwb= Workbook.createWorkbook(new File(fos);jxl.write.WritableSheet ws= wwb.createSheet(上市新书, 10);ws.addCell(new jxl.write.Label(0, 1, 书名);w

14、s.addCell(new jxl.write.Label(1, 1, 作者);ws.addCell(new jxl.write.Label(2, 1, 定价);ws.addCell(new jxl.write.Label(3, 1, 出版社);int bookSize=ve.size();BookVO book = new BookVO(); for (int i= 0; i bookSize; i+)book= (BookVO)ve.get(i);ws.addCell(new jxl.write.Label(0, i + 2, + book.getBookName();ws.addCell(new jxl.write.Label(1, i + 2, book.getBookAuthor();ws.addCell(new jxl.write.Label(2, i + 2, + book.getBookPrice();ws.addCell(new jxl.write.Label(3, i + 2, book.getBookConcern();/ jxl.write.WritableFont wfc=/new jxl.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号