1、使用maven引入jar包

        <dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.16</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.14</version>
</dependency>

  实际引入的jar包为:

如果不使用maven方法引入jar包只需导入以下jar包

2、 向excel追加数据示例:

    public static void dealExcel(String in, String out) throws Exception {
if (!in.equals(out)) {
copyFile(in, out);
} FileInputStream input = new FileInputStream(new File(out));
Workbook wb = WorkbookFactory.create(input);
System.out.println(wb.getClass());
FileOutputStream output = new FileOutputStream(new File(out));
Sheet sheet = wb.getSheetAt(0); int columnCount = -1;
int rowCount = 0;
for (Row row : sheet) {
if (columnCount == -1) {
columnCount = row.getLastCellNum();
} if (row.getLastCellNum() == columnCount) {
//增加列
Cell last = row.createCell(columnCount);
if (rowCount == 0) {
last.setCellValue("Test");
} else {
last.setCellValue(rowCount);
}
rowCount++;
}
} ////添加行
//Row row = sheet.createRow(sheet.getLastRowNum());
//Cell cell = row.createCell(0);
//cell.setCellValue("Test"); output.flush();
wb.write(output);
wb.close();
output.close();
}
    public static void copyFile(String in, String out) throws Exception {
InputStream inputStream = new FileInputStream(new File(in)); File copy = new File(out);
if (copy.exists()) {
copy.delete();
}
copy.createNewFile();
OutputStream outputStream = new FileOutputStream(copy); byte[] buffer = new byte[1024 * 4];
while ((inputStream.read(buffer)) != -1) {
outputStream.write(buffer);
} inputStream.close();
outputStream.close(); }

3、获取excel数据

    public static String getCellData(Cell cell) {
Object value = null;
CellType cellType = cell.getCellTypeEnum();
if (cellType == CellType.STRING) {
value = cell.getStringCellValue();
} else if (cellType == CellType.BOOLEAN) {
value = cell.getBooleanCellValue();
} else if (cellType == CellType.NUMERIC) {
value = cell.getNumericCellValue();
} else if (cellType == CellType.FORMULA) {
value = cell.getCellFormula();
} else if (cellType == CellType.BLANK || cellType == CellType.ERROR) {
value = "error";
} else {
value = "";
}
return String.valueOf(value);
}

使用poi读写excel、向excel追加数据等,包括.xls和.xlsx文档的更多相关文章

  1. 使用poi或jxl,通过java读写xls、xlsx文档

    package nicetime.com.baseutil; import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffExcepti ...

  2. POI加dom4j将数据库的数据按一定格式生成word文档

    一:需求:将从数据库查处来的数据,生成word文档,并有固定的格式.(dom4j的jar包+poi的jar包) 二:解决:(1)先建立固定格式的word文档(2007版本以上),另存成为xml文件,作 ...

  3. NPOI(2.1.3)向excel中插入图片,xls文档图片插入成功,xlsx文档图片插入失败

    众所周知,NPOI对xls和xlsx两个版本的excel文档的操作并没有一个统一的支持, 程序若想兼容这两个版本的操作,必须根据excel版本分别去调用HSSF和XSSF这两套操作库, 之前一直不明白 ...

  4. JAVA导入(读取)Excel中的数据(支持xls与xlsx文件)

    一.导入jar包 poi-3.7.jarpoi-scratchpad-3.7.jarpoi-examples-3.7.jarpoi-ooxml-3.7.jarpoi-ooxml-schemas-3.7 ...

  5. C# DataGridView 导出 Excel(根据Excel版本显示选择不同后缀格式xls或xlsx)

    /// <summary> /// DataGridView导出至Excel,解决问题:打开Excel文件格式与扩展名指定格式不一致 /// </summary> /// &l ...

  6. $用python处理Excel文档(2)——用xlsxwriter模块写xls/xlsx文档

    Refer:<python自动化运维:技术与最佳实践> 更多用法参考xlsxwriter官方文档:http://xlsxwriter.readthedocs.io/ 本文主要总结一下如何使 ...

  7. $ 用python处理Excel文档(1)——用xlrd模块读取xls/xlsx文档

    本文主要介绍xlrd模块读取Excel文档的基本用法,并以一个GDP数据的文档为例来进行操作. 1. 准备工作: 1. 安装xlrd:pip install xlrd 2. 准备数据集:从网上找到的1 ...

  8. Java读取Excel文件(包括xls和xlsx)的样例程序

    样例程序如下所示,其中: parseXls()函数依赖于jxl,只能读取xls格式文件: parseExcel()函数依赖于apache poi,能够读取xls和xlsx两种格式的文件. jxl的依赖 ...

  9. Swift - 文件目录路径获取及数据储存(Home目录,文档目录,缓存目录)

    iOS应用程序只能在自己的目录下进行文件的操作,不可以访问其他的存储空间,此区域被称为沙盒.   应用沙盒结构分析 1.应用程序包:包含了所有的资源文件和可执行文件 2.Documents:保存应用运 ...

随机推荐

  1. jmeter循环和计数器

  2. hdu 4629 Burning (扫描线)

    Problem - 4629 以前写过PSLG模拟的版本,今天写了一下扫描线做这题. 其实这题可以用set存线段来做,类似于判断直线交的做法.不过实现起来有点麻烦,于是我就直接暴力求交点了. 代码如下 ...

  3. 2019-8-31-dotnet-使用-MessagePack-序列化对象

    title author date CreateTime categories dotnet 使用 MessagePack 序列化对象 lindexi 2019-08-31 16:55:58 +080 ...

  4. [C#] 查标准正态分布表

    C#里面要计算正态分布是一件比较麻烦的事情,一般是通过查表来实现的. static double[] ayZTFB = null; /// <summary> /// 计算标准正态分布表 ...

  5. mysql数据库之多表查询

                                                                            准备                          ...

  6. 2019-9-30-WPF-运行时迁移-EF-Core-数据库

    title author date CreateTime categories WPF 运行时迁移 EF Core 数据库 lindexi 2019-09-30 20:19:16 +0800 2019 ...

  7. oracle函数 power(x,y)

    [功能]返回x的y次幂 [参数]x,y 数字型表达式 [返回]数字 [示例] select power(2.5,2),power(1.5,0),power(20,-1) from dual; 返回:6 ...

  8. 洛谷 2152 [SDOI2009]SuperGCD

    Description Sheng bill有着惊人的心算能力,甚至能用大脑计算出两个巨大的数的GCD(最大公约 数)!因此他经常和别人比赛计算GCD.有一天Sheng bill很嚣张地找到了你,并要 ...

  9. c语言中的字节数关系、

    转载自:传送门 16位编译器 char :1个字节 char*(即指针变量): 2个字节 short int : 2个字节 int:  2个字节 unsigned int : 2个字节 float: ...

  10. HDU 1879 还是prim最小生成树、

    #include<stdio.h> #include<math.h> #include<string.h> +,MAX=1e7; int vis[qq]; int ...