java解析xlsx表格,写入xlsx表格实例

news/2024/11/19 19:23:39/

1,下载所需jar包地址xlsx依赖jar

2,读取表格数据代码实例

	static void jx(File file) throws IOException {InputStream is = new FileInputStream(file);XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is);XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0);int rowstart = xssfSheet.getFirstRowNum();int rowEnd = xssfSheet.getLastRowNum();for (int i = rowstart; i <= rowEnd; i++) {XSSFRow row = xssfSheet.getRow(i);if (null == row)continue;int cellStart = row.getFirstCellNum();int cellEnd = row.getLastCellNum();for (int k = cellStart; k <= cellEnd; k++) {XSSFCell cell = row.getCell(k);if (null == cell) {System.out.print(k+"cell null");continue;}switch (cell.getCellType()) {case HSSFCell.CELL_TYPE_NUMERIC: // 数字System.out.print(cell.getNumericCellValue() + "\t");break;case HSSFCell.CELL_TYPE_STRING: // 字符串System.out.print(cell.getStringCellValue() + "\t");break;case HSSFCell.CELL_TYPE_BOOLEAN: // BooleanSystem.out.println(cell.getBooleanCellValue() + "\t");break;case HSSFCell.CELL_TYPE_FORMULA: // 公式System.out.print(cell.getCellFormula() + "\t");break;case HSSFCell.CELL_TYPE_BLANK: // 空值System.out.println(" 控制");break;case HSSFCell.CELL_TYPE_ERROR: // 故障System.out.println(" 故障");break;default:System.out.print("未知类型 ");break;}}System.out.print(cellEnd +"... \n");}

3,写入表格代码实例

1)创建实体类

public class Export implements Serializable{String sjbm;double num;public String getSjbm() {return sjbm;}public void setSjbm(String sjbm) {this.sjbm = sjbm;}public double getNum() {return num;}public void setNum(double num) {this.num = num;}}

2)写入xlsx表格实例代码,以实体类为数据载体

public void writeXls(List<Export> exportList, File file) throws Exception {String[] options = { "条码", "批次号", "数量" };XSSFWorkbook book = new XSSFWorkbook();CreationHelper createHelper = book.getCreationHelper();XSSFCellStyle style = book.createCellStyle();XSSFCellStyle dateStyle = book.createCellStyle();XSSFDataFormat format = book.createDataFormat();style.setWrapText(true);dateStyle.setWrapText(true);XSSFSheet sheet = book.createSheet("sheet");sheet.setColumnWidth(3, 13000);sheet.setDefaultColumnWidth(20);XSSFRow firstRow = sheet.createRow(0);XSSFCell[] firstCells = new XSSFCell[3];CellStyle styleBlue = book.createCellStyle(); // 样式对象// 设置单元格的背景颜色为淡蓝色styleBlue.setFillBackgroundColor(HSSFColor.GREEN.index);styleBlue.setVerticalAlignment(CellStyle.VERTICAL_CENTER);// 垂直styleBlue.setAlignment(CellStyle.ALIGN_CENTER);// 水平styleBlue.setWrapText(true);// 指定当单元格内容显示不下时自动换行Font font = book.createFont();font.setBoldweight(Font.BOLDWEIGHT_BOLD);font.setFontName("宋体");font.setFontHeight((short) 280);style.setFont(font);dateStyle.setFont(font);dateStyle.setDataFormat(format.getFormat("yyyy-mm-dd"));styleBlue.setFont(font);for (int j = 0; j < options.length; j++) {firstCells[j] = firstRow.createCell(j);firstCells[j].setCellStyle(styleBlue);firstCells[j].setCellValue(new XSSFRichTextString(options[j]));}getExport(sheet, style, createHelper, exportList, dateStyle);if (file.exists()) {file.delete();}file.createNewFile();OutputStream os = new FileOutputStream(file);book.write(os);os.close();}
public void getExport(XSSFSheet sheet, XSSFCellStyle style, CreationHelper createHelper, List<Export> exportList,XSSFCellStyle dateStyle) {for (int i = 0; i < exportList.size(); i++) {XSSFRow row = sheet.createRow(i + 1);Export export = exportList.get(i);XSSFCell hotelId = row.createCell(0);hotelId.setCellStyle(style);XSSFCell hotelName = row.createCell(1);hotelName.setCellStyle(dateStyle);XSSFCell chargeCount = row.createCell(2);chargeCount.setCellStyle(style);hotelId.setCellValue(export.getSjbm());hotelName.setCellValue(date);chargeCount.setCellValue(export.getNum());// ta.append("写入excel开始,行数是" + (i + 1) + "\n");}}

这样就会写入完成入下图的表格





http://www.ppmy.cn/news/501009.html

相关文章

Python 读取xlsx表格

#!/usr/bin/python -- coding: UTF-8 -- import xlrd from datetime import date,datetime file ‘cc.xlsx’ #需要读取的文件 def read_excel(): wb xlrd.open_workbook(filenamefile)#打开文件 print(wb.sheet_names()) #获取所有表格名字 #[sheet1,sheet2,sheet3]sh…

使用easyexcel快速导出xlsx表格(简洁、高效、易懂)

Easyexcel是一款非常好用的POI框架&#xff0c;是为了让开发者快速的实现excel&#xff0c;word,pdf的导入导出&#xff0c;基于Apache poi基础上的一个工具包。 基于注解的导入导出&#xff0c;修改注解就可以修改Excel支持常用的样式自定义基于map可以灵活定义的表头字段支持…

用Python一步读写csv、xlsx表格

需求代码测试 需求 python的内置库csv提供了读写csv表格的方法&#xff0c;第三方库openpyxl 提供了读写xlsx表格的方法。 不过&#xff0c;为了避免每次调用这些库时都要回忆其用法&#xff0c;笔者将基本的读写操作封装成函数——通过python的list类型直接读写csv、xlsx表格…

CAPL 无法处理 xlsx 表格,Python老大哥曲线助攻

&#x1f345; 我是蚂蚁小兵&#xff0c;专注于车载诊断领域&#xff0c;尤其擅长于对CANoe工具的使用&#x1f345; 寻找组织 &#xff0c;答疑解惑&#xff0c;摸鱼聊天&#xff0c;博客源码&#xff0c;点击加入&#x1f449;【相亲相爱一家人】&#x1f345; 玩转CANoe&…

vue项目前端导出xlsx表格带边框

最近项目中要求不再通过发送请求导出excel表格了&#xff0c;于是在网上找了找方法&#xff0c;在这记录一下方便以后查阅 一、首先先在项目中安装这几个包 npm install xlsx --save npm install file-saver --save npm install xlsx-style --save二、包安装完成之后在需要导出…

用matlab进行xlsx表格的提取和操作

用matlab进行xlsx表格的提取和操作 一、数据的提取二、垃圾数据的清除三、数据的分类四、图像的绘制 在学习数学建模时&#xff0c;我们会碰到大数据的问题&#xff0c;这类问题通常要进行数据预处理&#xff0c;这是我用matlab进行预处理的一些经验总结。数据预处理通常分为三…

百万excel导入mysql_百万级xlsx表格导入数据库的实现方案

需求是这样的,供应商给到一份 xlsx 表格(144MB),里面刚好有 100w 行数据(11列)。我需要把它们稍作处理后写入到 mysql 数据库 项目基于 Laravel,既然需要稍作处理,那我首先想到的就是找一个能读 xlsx 的 composer 包 我尝试过最知名的PhpSpreadsheet、对 Laravel 友好的 La…

python-生成xlsx表格

引入 xlsxwriter 包 import xlsxwriter workbook xlsxwriter.Workbook(currency_format.xlsx) cell_format_one workbook.add_format({bold: True, font_color: red}) cell_format_two workbook.add_format({bold: False, font_color: green}) # cell_format_two.set_font_…