JAVA生成并导入导出Excel表格文件
2016-07-23 13:58
477 查看
JAVA有一句话,”一切皆对象”,那么我们要在代码中对Excel文件进行操作,当然是要把他看做一个对象。废话不多说,先贴一个简单生成并导出Excel文件的例子,使用org.apache.poi完成:
代码执行之后,生成文件for_test2.xls ,目录当然是位于项目的目录下;
项目使用Maven管理,jar包导入代码如下
若需要jar文件,可前往官网自己下载 (反正我只用打字,maven会帮我下载 <( ̄3 ̄)> )
/** * Created by Admin on 2016/7/22. */ import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFCell; import java.io.FileOutputStream; import java.io.FileInputStream; import java.text.SimpleDateFormat; import java.util.Date; public class CreateXL { public static String xlsFile="for_test2.xls"; //产生的Excel文件的名称 public static void main(String args[]) { try { HSSFWorkbook workbook = new HSSFWorkbook(); //产生工作簿对象,也就是xls文件对象 HSSFSheet sheet = workbook.createSheet(); //产生工作表对象 //设置第一个工作表的名称为firstSheet workbook.setSheetName(0,"firstSheet");//设置表名 //产生一行,获得行对象 HSSFRow row = sheet.createRow((short)0); for(int i=0;i<20;i++) { //创建一个单元格对象,参数i为此row行对象的第几格,从0开始计算 HSSFCell cell = row.createCell(i); //设置单元格的格式为字符串类型 cell.setCellType(HSSFCell.CELL_TYPE_STRING); //设置单元格的值 cell.setCellValue("列"+i); } //文件输出流输出,通过HSSFWorkBook的write方法 FileOutputStream fOut = new FileOutputStream(xlsFile); workbook.write(fOut); fOut.flush(); fOut.close(); for(int i=0;i<21;i++){ //文件输入流,获得刚才输出的表格对象 FileInputStream fis = new FileInputStream(xlsFile); HSSFWorkbook workbook1 = new HSSFWorkbook(fis); HSSFSheet sheet1 = workbook1.getSheet("firstSheet"); HSSFRow rows = sheet1.getRow(0); HSSFCell cell = rows.getCell(i); //既然有set方法,当然就存在get方法 System.out.println("第"+i+"列的列名"+cell.getStringCellValue()); } } catch(Exception e) { e.printStackTrace(); } } }
代码执行之后,生成文件for_test2.xls ,目录当然是位于项目的目录下;
项目使用Maven管理,jar包导入代码如下
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.5-FINAL</version> </dependency>
若需要jar文件,可前往官网自己下载 (反正我只用打字,maven会帮我下载 <( ̄3 ̄)> )
此程序有诸多限定条件,可能根据jar包的版本不同,也有不同方法,但是基本使用是相同的。我相信还有一些封装得很不错、方便使用的类与方法,但是,基本原理掌握了,走遍天下都不怕,java中便捷的方法,是永远学不完的。
tips:输出的write方法public void write(OutputStream stream) throws IOException { byte[] bytes = this.getBytes(); POIFSFileSystem fs = new POIFSFileSystem(); ArrayList excepts = new ArrayList(1); fs.createDocument(new ByteArrayInputStream(bytes), "Workbook"); this.writeProperties(fs, excepts); if(this.preserveNodes) { excepts.add("Workbook"); excepts.add("WORKBOOK"); this.copyNodes(this.filesystem, fs, excepts); } fs.writeFilesystem(stream); }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 使用Python生成Excel格式的图片
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序