笔记:java下的excel操作,基于org.apache.poi

news/2024/7/21 4:29:40 标签: java, excel

在万物皆对象的java中如何操作一个excel文件?无非就是将excel看做一个可操作的对象(java真是流氓,看谁都是他对象╭(╯^╰)╮)

该对象有如下基础属性:

1.sheet,也就是我们在表格中的一页

2.row,表格中一横排,行表示

3.cell,表格中的列

常见的excel文件有两种:xls,xlsx。从某度copy过来的:

1、文件格式不同。xls 是一个特有的二进制格式,其核心结构是复合文档类型的结构,bai而 xlsx 的核心结构是 XML 类型的结构,采用的是基于 XML 的压缩方式,使其占用的空间更小。xlsx 中最后一个 x 的意义就在于此。

2、版本不同。xls是excel2003及以前版本生成的文件格式,而xlsx是excel2007及以后版本生成的文件格式。

3、兼容性不同。xlsx格式是向下兼容的,可兼容xls格式

说明一下:XSSFWorkbook 是创建xlsx,用于存储大量数据HSSFWorkbook 创建xls文件,存储量少。其他操作都是一样的

如果要用代码导出一个excel文件需要怎么做?

导包导包导包。。。。一定别忘了org.apache.poi的包

java">        //创建excel的文件对象,包含一个 sheet(表),有标题,有cell(单元格列),有row(行)
	    XSSFWorkbook workbook =  new XSSFWorkbook();
		//创建一个表
		XSSFSheet sheet = workbook.createSheet("user");
		//创建标题栏,第一行也就是表头
		XSSFRow titleRow = sheet.createRow(0);
        //定义标题栏,用数组和list都阔以,根据自己实际需要
        List<String> titleList = new ArrayList<String>();
		titleList.add("姓名");
		titleList.add("性别");
		titleList.add("年龄");
		//将标题栏数据写入
		for(int i =0;i<titleList.size();i++) {
			XSSFCell cell = titleRow.createCell(i);
			cell.setCellValue(titleList.get(i));
		}
		//根据自己数据量大小,将数据写入到每一行,1代表除标题之外的第一行
		XSSFRow rowInfo = sheet.createRow(1);
		rowInfo.createCell(0).setCellValue(user.getUsername());
		rowInfo.createCell(1).setCellValue(user.getSex());
		rowInfo.createCell(2).setCellValue(user.getAge());
		//保存文件
		workbook.write(new FileOutputStream("E:\\myfile/test.xls"));

1.创建excel的对象

2.创建sheet

3.指定该sheet中的首行,也就是你的表头

4.根据实际情况录入自己的数据

5.指定导出即可

基础操作就是这样了,如果是springboot,请在pom文件中增加对于依赖,具体版本根据自己需要而定

    <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>3.4</version>
        </dependency>

 


http://www.niftyadmin.cn/n/1117018.html

相关文章

py-faster-rcnn搭配pycharm使用

先在ubuntu下配置好cuda、cudnn以及py-faster-rcnn&#xff0c;然后安装pycharm。 打开pycharm看py-faster-rcnn代码&#xff0c;import处各种红色下划曲线&#xff0c;提示报错。为啥呢&#xff1f;因为用的东西&#xff0c;不在搜索的path中。 怎么处理呢&#xff1f;参考这里…

in a frame because it set 'X-Frame-Options' to 'sameorigin'.

加载MP3格式报错如下 Refused to display https://xx.xx.com/xxxxx.mp3 in a frame because it set X-Frame-Options to sameorigin. 复制代码解决办法 在页面中添加头信息 <meta http-equiv"X-Frame-Options" content"deny"> 复制代码X-Frame-Optio…

FormsAuthentication 使用指南

配置安全鉴别 鉴别是指鉴定来访用户是否合法的过程。ASP.NET Framework支持三种鉴别类型&#xff1a; Windows鉴别&#xff1b; NET Passport鉴别&#xff1b; Forms鉴别。 对于某一特定的应用程序&#xff0c;同一时刻只能启用其中一种鉴别方式。例如&#xff0c;不能在同一时…

仿简书登录框,可删除内容或显示密码框的内容

简书App 是我很喜欢的一款软件。今天就模仿了一下他的登录框。先上图&#xff1a; 好了下面上代码&#xff0c;自定义ImgEditText 继承与EditText。重写一些方法。 1 package lyf.myimgedittextdemo;2 3 import android.content.Context;4 import android.graphics.Rect;5 impo…

笔记:java基于http从指定url地址下载文件

非常规上传下载。 做一个简单的下载功能&#xff0c;可以从网络或者指定的url地址下载文件到指定位置&#xff0c;在网上找了半天都是基于前端和后台的上传下载功能&#xff0c;终于找到一个可用的记下来。 import java.io.ByteArrayOutputStream; import java.io.File; impo…

01 OC之NSCharacterSet的使用

NSCharacterSet的使用 转载于:https://juejin.im/post/5a3c5a9451882572ed55c30e

页面路由跳转地址-get方式

从开始敲代码&#xff0c;一直到现在&#xff0c;总是记不太清页面上的路由应该怎样书写&#xff0c;因此最终还是觉得自己应该提笔写下来以免自己再犯同样的错误&#xff01; 1.get方式访问页面 http://localhost:3001/article/steelworks?id3 如果后面有多个参数&#xff0c…

笔记:快速排序,精简理解版本

此理解基于某个关于快速排序的考试题&#xff1a;对数组 A(2,8,7,1,3,5,6,4)用快速排序算法的划分方法进行一趟划分后得到 的数组 A 为&#xff08; &#xff09; (非递减排序&#xff0c; 以最后一个元素为基准元素)。 进行一趟划分的 计算时间为&#xff08; &#xff09; 。…