最近一个项目中用到了Excel文件的导出,经过一段时间的学习,了解到Excel文件的导入与导出大致有两种方式:poi与jxl。自己结合网上的材料略微整理了一下。下面例子中所用到的jar包
poi poi-3.0.1.jar
jxl jxl.jar
package com.lhy.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
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;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class ExcelInAndOut {
public static void main(String[] args) {
//jxlout();
// jxlin();
//poiin();
poiout();
}
//Excel数据以poi方式导入
public static void poiin(){
String filePath="D://lhy.xls";
try {
// 创建对Excel工作簿文件的引用
HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(filePath));
// 在Excel文档中,第一张工作表的缺省索引是0,其语句为
// HSSFSheet sheet = wookbook.getSheetAt(0);
String name =wookbook.getSheetName(0); //得到第一个工作表的名字
HSSFSheet sheet = wookbook.getSheet(name); //得到第一个工作表
// int t= wookbook.getSheetIndex("sheet1");
System.out.println(name);
//获取到Excel文件中的所有行数
int rows = sheet.getPhysicalNumberOfRows();
//遍历行
for (int i = 0; i < rows; i++) {
// 读取左上端单元格
HSSFRow row = sheet.getRow(i);
// 行不为空
if (row != null) {
//获取到Excel文件中的所有的列
int cells = row.getPhysicalNumberOfCells();
String value = "";
//遍历列
for (int j = 0; j < cells; j++) {
//获取到列的值
HSSFCell cell = row.getCell((short) j);
if (cell != null) {
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_FORMULA:
break;
case HSSFCell.CELL_TYPE_NUMERIC:
// value += cell.getNumericCellValue() + ",";
System.out.println(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_STRING:
// value += cell.getStringCellValue() + ",";
System.out.println(cell.getStringCellValue());
break;
default:
// value += "0";
break;
}
}
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
//poi方式导出到外部Excel文件
public static void poiout(){
//生成的Excel文件路径
String filePath="D:/lhy.xls";
try{
//准备输出工作流文件
FileOutputStream fout = new FileOutputStream(new File(filePath));
//创建excel文件
HSSFWorkbook wb = new HSSFWorkbook();
//创建第一个工作表first
HSSFSheet sheet=wb.createSheet("first");
//创建第一行
HSSFRow row=sheet.createRow(0);
//创建两个单元格
HSSFCell cell[]=new HSSFCell[2];
cell[0] = row.createCell((short) 0);
cell[0].setCellValue("lhy");
cell[1] = row.createCell((short) 1);
cell[1].setCellValue("123.456");
//将工作流数据写入到工作表中
wb.write(fout);
fout.flush();
fout.close();
}
catch(Exception e){
e.printStackTrace();
}
}
//Excel数据以jxl方式导入
public static void jxlin(){
try {
//导入的Excel名字和路径
Workbook book = Workbook.getWorkbook(new File("d:/lhy.xls"));
//得到第一个工作薄
Sheet sheet = book.getSheet(0);
//得到工作薄的行数
int rows=sheet.getRows();
//得到工作薄的列数
int cols=sheet.getColumns();
for(int r=0;r<rows;r++){
for(int c=0;c<cols;c++){
// System.out.println("r="+r+" c="+c);
//得到单元格数据
Cell cell=sheet.getCell(c, r);
String result=cell.getContents();
System.out.println(result);
}
}
book.close();
} catch (Exception e) {
e.printStackTrace();
}
}
//jxl方式导出到外部Excel文件
public static void jxlout(){
try {
//新建工作表路径和Excel表名字
WritableWorkbook book = Workbook.createWorkbook(new File("d:/lhy.xls"));
//创建第一个工作薄,以first命名
WritableSheet sheet = book.createSheet("first", 0);
//在第1行第1列,创建标签写入字符串数据
Label label = new Label(0, 0, "lhy");
//加入到工作薄的相应单元格中
sheet.addCell(label);
//在第1行第2列写入数字
jxl.write.Number number = new jxl.write.Number(1, 0, 123.456);
sheet.addCell(number);
book.write();
//关闭工作表
book.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
springboot实现Excel文件导入与导出功能, 本次任务主要实现两个功能,一是如何将Excel文件导入后台服务器,解析文件中的内容,并且存入数据库中。二是如何将后台数据库中的数据导出为Excel表格。经过调研,实现此...
项目内容主要包括两个核心功能:在线编辑Excel和Excel文件导入导出。在线编辑部分,Luckysheet提供了丰富的API和配置选项,可以定制化地创建各种复杂的表格结构,包括单元格样式、行列操作、公式计算等。此外,它的...
以下是对"Excel文件导入导出"这一主题的详细解释: 一、Excel文件的导入 1. Python中的Pandas库:Python编程语言提供了Pandas库,它能够方便地读取和写入Excel文件。使用`pandas.read_excel()`函数可以将Excel文件...
在Spring Boot中实现Excel的导入导出可以通过POI库来实现,POI是一个开源的Java库,用于处理Microsoft Office格式文件,包括Excel。一个简单的示例,演示如何在Spring Boot项目中使用POI来实现Excel的导入导出功能。...
在WPF(Windows Presentation Foundation)应用开发中,与Excel文件的交互是常见的需求,比如导入数据到Excel,或者从Excel导出数据。本教程将详细讲解如何实现一个包含"导入"和"导出"功能的界面,并展示数据在一个...
自定义的一个excel文件导入导出类,支持Excel2003到2010的格式。里面也有简单的配置文件的创建。
"Excel文件的导入导出" Excel 文件的导入导出是指将 Excel 文件中的数据导入到 DataTable 中或将 DataTable 中的数据导出到 Excel 文件中。这个过程需要使用 OleDb 连接来读取 Excel 文件。 知识点:OleDb 连接 ...
在本例程中,VBA可能被用来控制数据的导入导出流程,更新超级列表框的内容,以及实现用户交互界面的响应。 5. **SanYe**:标签“SanYe”可能指的是一个开发人员或社区,他们可能专门研究或分享关于Excel VBA的技巧...
通过以上方法,开发者可以灵活地在C#应用中实现Excel的导入导出功能,无论是进行简单的数据交换,还是复杂的报表生成,都能满足需求。结合实际场景选择合适的方法,可以提升开发效率和用户体验。
这就是使用VC++和MFC进行Excel文件导入和导出的基本步骤。需要注意的是,实际应用中可能还需要处理错误、异常以及内存管理等问题,确保程序的稳定性和健壮性。同时,为了提高性能,可以考虑使用多线程技术或者Excel...
在SpringBoot项目中,我们经常需要处理Excel文件的导入与导出功能,这在数据分析、数据交换等场景中尤其常见。Apache POI 是一个流行的Java库,它允许开发者读写Microsoft Office格式的文件,包括Excel。下面我们将...
本主题将详细探讨如何使用C#实现从Excel文件导入数据到ListView控件,以及如何将ListView中的数据导出回Excel文件。这两个操作在数据分析、报表生成和数据管理等场景中非常常见。 首先,要导入Excel文件到ListView...
易语言提供了与Microsoft Excel交互的API接口或库,如COM组件,允许程序员通过调用Excel对象模型的方法来操作Excel文件。在易语言中,我们可以创建Excel应用程序对象,打开工作簿,选择工作表,读取或写入单元格数据...
易语言EXCEL数据导入与导出源码是一个用于在易语言程序中实现Excel文件数据的读取和写入功能的代码资源。易语言是中国本土的一种编程语言,它以直观的汉字编程语法为特色,旨在降低编程门槛,让更多人能够参与到编程...
以上就是JSP中Excel文件导入导出的基本步骤和关键知识点,通过这些知识,你可以实现从JSP页面上传Excel文件,读取数据进行处理,或导出数据到Excel供用户下载。同时,了解和熟练使用Apache POI库是进行此类操作的...
在MVC架构下,处理导入和导出Excel文件是常见的需求,尤其在数据管理、报表生成以及数据交换场景中。下面我们将详细探讨如何在MVC应用中实现这个功能。 首先,导入Excel文件涉及到读取Excel数据并将其转化为可操作...
总结来说,导入导出Excel是数据处理的重要环节,涉及到对Excel文件的操作,包括读取、写入和格式设置。选择合适的库,创建有效的模板,以及使用预先封装好的工具类,都能帮助我们高效地完成这项任务。在实际项目中,...
以下将详细介绍如何将Excel文件导入到数据库中,以及如何将数据库中的数据导出到Excel中。 首先,将Excel文件导入数据库通常涉及到以下几个步骤: 1. 数据预处理:在Excel中整理数据,确保格式正确,无错误或缺失...
易语言提供的Excel导出导入模块,使得开发者可以方便地在程序中与Excel文件进行交互,这对于数据处理和报表生成等场景非常实用。 导出Excel文件通常涉及到以下几个关键知识点: 1. **创建工作簿**:在易语言中,...
"导入导出工具支持excel文件"这个主题涉及到了如何利用特定的工具或者编程语言来高效地处理Excel文件进行数据的导入和导出。以下是对这个主题的详细讲解: 1. Excel文件格式:Excel文件通常以.xlsx或.xls为扩展名,...