首页 > 其他分享 >利用POI读取excel,做更改并保存(xls版本)

利用POI读取excel,做更改并保存(xls版本)

时间:2022-11-30 14:32:04浏览次数:70  
标签:apache POI excel catch usermodel poi workBook import xls


小弟最近在项目中,遇到用poi技术将excel模板读取,加上一列之后,写入某些值,再写回原EXCEL。

直接贴代码吧。上面的注释也很清晰。

 

package com.caojiulu.poi;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
/**
*
* @author caojiulu
*
*/
public class Main {

public static void main(String[] args) {
Workbook workBook = null;
FileInputStream fis = null;
FileOutputStream fos = null;
String filePath = "";
try {
//读取指定路径下的excel
fis = new FileInputStream(filePath);
//加载到workBook
workBook = new HSSFWorkbook(fis);
//获取第一个sheet页
Sheet sheetAt = workBook.getSheetAt(0);
//获取excel有多少条数据
int rowSize = sheetAt.getLastRowNum()+1;
//遍历所有的数据
for (int i = 0; i < rowSize; i++) {

//获取第I行的数据
Row row = sheetAt.getRow(i);
//创建第I行 第4列的单位格
Cell cell = row.createCell(3);
//设置值
cell.setCellValue("caojiulu");
//设置单位格的风格
CellStyle style = workBook.createCellStyle();
//创建字体
Font font = workBook.createFont();
//设置字体的颜色
font.setColor(Font.COLOR_RED);
style.setFont(font);
cell.setCellStyle(style);
}
//将更改后的excel写回去
fos = new FileOutputStream(filePath);
workBook.write(fos);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(workBook!=null){
try {
workBook.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}



}

}

转载请附上原文链接!谢谢

标签:apache,POI,excel,catch,usermodel,poi,workBook,import,xls
From: https://blog.51cto.com/u_14906615/5899441

相关文章

  • Excel 怎么在筛选后 进行编号递增
    可以用SUBTOTAL函数,在要添加序号的单元格输入公式:=SUBTOTAL(103,$E$1:E1)*1,双击填充即可。具体操作如下动图所示:1.首先新建列序号列2.$E$1:E1这个是变量--用序号列当依......
  • python编辑excel表格文件的简单方法练习
    一、创建一个Excel文件fromopenpyxlimportWorkbook#需要用到openpyxl模块来操作Excel文件。openpyxl需要先安装。#实例化对象wb=Workbook()#获取当前active的shee......
  • 初次邂逅 EasyExcel
    前言由于工作原因,有这种需求,就是把数据库中的数据导出成Excel表格,同时,也得支持人家用Excel表格导入数据到数据库。当前项目也是在用EasyExcel,所以我不得不学啦!以前......
  • Computer Vision_33_SIFT:Distinctive Image Features from Scale-Invariant Keypoints
    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面。对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多......
  • 帝国CMS:批量上传Excel数据时候,无法将多图字段写入数据库?
    使用Excel批量上传插件的时候,根据插件规则,已经设置好了Excel表中的多图字段分段规则。但是上传后,发现无法在多图位置展现多图。查询插件的设置时发现都是正确的,前往多图功......
  • excel条件格式妙用
    1、“条件格式”进行重复值筛选    2、删除重复值先把两列的数据归类到一列中   3、满足特定条件后,整行自动填充颜色选中数据源(下面数据源选择有误......
  • 如何使用C#在Excel中插入分页符
    在日常办公中,我们经常会用到Excel文档来帮助我们整理数据。为了方便打印Excel工作表,我们可以在Excel中插入分页符。各种处理软件一般都会自动按照用户所设置页面的大小自动......
  • Excel导入和导出
    基于WebApi接口调用:try{MES.BLL.extend.TEST_PROJECT_EXTENDMaterialBLL=newMES.BLL.extend.TEST_PROJECT_EXTEND();......
  • 打开.xlsx或.pptx文件,提示以下错误: 不是有效的win32应用程序
    转载地址:https://zhidao.baidu.com/question/335314126.html出现这个问题,多半是因为文件打开方式关联错了。例如,通常默认的打开.xls或.xlsx文件的程序应该是MicrosoftEx......
  • Vue 前端解析 Excel 数据
    想要在前端实现Excel表格数据的解析,需要安装xlsx包:npminstallxlsx然后在需要使用的地方引入:import*asXLSXfrom'xlsx/xlsx.mjs'使用ElementUI提供......