java操作poi怎么更改excel中的数据

 我来答
育知同创教育
2018-07-26 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
POI里可能没有这个机能。 不过你可以这样做。 把带有这个格式的Excel文件,做为模板。 每次把模板文件读进来,把自己要输出的数据填到对应的单元格里。 之后,把填完数据的Excel文件,保存到指定路径里。或者从浏览器里弹出。
Jack4DotNet
2020-04-22 · TA获得超过128个赞
知道小有建树答主
回答量:218
采纳率:91%
帮助的人:31.1万
展开全部

可以添加spire.xls.jar为依赖,来读写excel

  1. import com.spire.xls.ExcelVersion;

  2. import com.spire.xls.Workbook;

  3. import com.spire.xls.Worksheet;


  4. public class ModifyExcel {


  5.     public static void main(String[] args) {


  6.         //创建Workbook对象

  7.         Workbook wb = new Workbook();

  8.         //加载Excel文档

  9.         wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\data.xlsx");

  10.         //获取第一个工作表

  11.         Worksheet sheet = wb.getWorksheets().get(0);

  12.         //更改单元格A1的值

  13.         sheet.getCellRange("A1").setText("新文本");

  14.         //保存文档

  15.         wb.saveToFile("NewDocument.xlsx", ExcelVersion.Version2016);

  16.     }

  17. }

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pieryon
推荐于2018-05-17 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166869
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
修改完需要写入,也就是保存一下的。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class ChangeCell {

@SuppressWarnings("deprecation")
public static void main(String[] args) {
String fileToBeRead = "C:\\exp.xls"; // excel位置
int coloum = 1; // 比如你要获取第1列
try {
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
fileToBeRead));
HSSFSheet sheet = workbook.getSheet("Sheet1");

for (int i = 0; i <= sheet.getLastRowNum(); i++) {
HSSFRow row = sheet.getRow((short) i);
if (null == row) {
continue;
} else {
HSSFCell cell = row.getCell((short) coloum);
if (null == cell) {
continue;
} else {
System.out.println(cell.getNumericCellValue());
int temp = (int) cell.getNumericCellValue();
cell.setCellValue(temp + 1);
}
}
}
FileOutputStream out = null;
try {
out = new FileOutputStream(fileToBeRead);
workbook.write(out);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cql5780
2016-08-19 · TA获得超过1863个赞
知道大有可为答主
回答量:3409
采纳率:0%
帮助的人:1162万
展开全部
先读后写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式