最近在工作开中,经常遇到项目中需要进行对表格的数据进行导入导出,我试着写了一个类,包含了导入导出的一些具体方法。废话不多说,上代码:
import java.awt.List;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.Iterator;
import javax.imageio.stream.FileImageInputStream;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.filechooser.FileFilter;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.sun.rowset.internal.InsertRow;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class ExportAndImportUtil {
/**
* @param args
* @throws IOException
*/
static int num = 0;
private JTable table;
public static void main(String[] args) throws IOException, Exception {
ExportAndImportUtil util= new ExportAndImportUtil();
// util.exportData();
util.importData();
}
/**
* @desc 导出数据
* @author 张兴旺
* @date 2012-12-15
*/
public void exportData() throws Exception {
// 打开或者生成一个文件
WritableWorkbook wwb = Workbook.createWorkbook(new File("何永东" + num
+ ".xls"));
// 生成xls工作表所在的页,一般设置成第一页
WritableSheet ws = wwb.createSheet("那些事", 0);
// 设置字段字体
WritableFont fontSet = new WritableFont(WritableFont.createFont("黑体"),
10, WritableFont.BOLD);
// 设置格式剧中
WritableCellFormat des = new WritableCellFormat(fontSet);
// 设置字段格式
des.setAlignment(Alignment.CENTRE);
ArrayList list = new ArrayList();
list.add("单号");
list.add("收货部门");
list.add("收货时间");
list.add("预配航班号");
list.add("件数");
for (int i = 0; i < list.size(); i++) {
String columnAlias = (String) list.get(i);
Label lb = new Label(i, 0, columnAlias, des);
// 增加每列
ws.addCell(lb);
}
//你好,这里可以从后台数据库得到数据进行导出,也可以从界面表格中导出,我这里为了得到效果,值建立好一个空的Jtable
//如需得到数据库的数据,以jdbc操作为例:
//PreparedStatement ps = null;
//ResultSetMetaData rsmd = ps.getMetaData()
for(int k=0;k<this.table.getRowCount();k++){
String columnValue = "";
for(int i=0;i<list.size();i++){
columnValue = (String) this.table.getCellEditor(k, i).getCellEditorValue();
Label lf = new Label(i, k+1, columnValue, des);
ws.addCell(lf);
}
}
wwb.write();
Runtime rt = Runtime.getRuntime();
try {
String[] command = {"explorer","何永东" + num+ ".xls"};
rt.exec(command);
} catch (Exception e) {
// TODO: handle exception
}finally{
wwb.close();
}
num++;
}
static File file = null;
public void importData(){
JFileChooser fileChooser = new JFileChooser();
FileFilter fileFilter = new FileFilter(){
@Override
public boolean accept(File f) {
String fileName = f.getName().toLowerCase();
boolean result = f.isDirectory() || fileName.endsWith(".xls");
return result;
}
@Override
public String getDescription() {
return "Excel文档(*.xls)";
}
};
fileChooser.setFileFilter(fileFilter);
fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
int returnVal = fileChooser.showOpenDialog(null);
if(returnVal ==JFileChooser.APPROVE_OPTION){
file = fileChooser.getSelectedFile().getAbsoluteFile();
if(!(file.getName().endsWith(".xls"))){
JOptionPane.showMessageDialog(null, "该文件不是正确的xls文件", "温馨提示", JOptionPane.PLAIN_MESSAGE);
return;
}
}
}
public void readExcel(File file) {
ArrayList numberList = new ArrayList();
try {
HSSFWorkbook hSSFWorkbook = new HSSFWorkbook(new FileInputStream(file));
HSSFSheet sheet = hSSFWorkbook.getSheetAt(0);
HSSFRow row = null;
for(int j = 0;j<sheet.getLastRowNum();j++){
row = sheet.getRow(j);
String num = row.getCell(0).getStringCellValue();
String name = row.getCell(1).getStringCellValue();
ArrayList list = new ArrayList();
list.add(0, num);
list.add(1, name);
numberList.add(list);
}
} catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "该文件不是正确的xls文件", "温馨提示", JOptionPane.PLAIN_MESSAGE);
return;
}
insertDataToTable(numberList);
}
private void insertDataToTable(ArrayList numberList) {
Iterator it = numberList.iterator();
while(it.hasNext()){
//导入数据到表格,说实话,这个我试了好多,都没能实现,好惨
// table.add
}
}
}
其中,jxl和poijar包在网上可以下载,在此不贴出来了哈
分享到:
相关推荐
以上就是关于使用JXL和Apache POI实现Excel导入导出的基本知识。根据实际需求,你可以结合这两个库的功能,灵活地处理各种Excel文件操作。在实际项目中,通常会根据性能、功能需求以及文件兼容性等因素选择适合的库...
为了更好地理解这两个库的用法,你可以查看提供的"Excel导入导出(jxl及Poi)工具类"压缩包中的示例代码。通过阅读和运行这些代码,你可以更深入地了解如何在实际项目中应用jxl和Apache POI。 总的来说,jxl和Apache ...
在Java开发中,有时我们需要将数据库中的数据导出到Excel文件,或者从Excel文件...通过正确理解和使用POI库,你可以轻松地实现数据的导入导出,提升工作效率。记得在项目中引入正确的jar包,以确保所有功能的正常运行。
标题 "NoClassDefFoundError: jxl/WorkbookSettings" ...在进一步研究标签“源码”和“工具”时,可以深入学习JExcelApi的源代码,理解其内部实现,也可以探索其他替代工具,如Apache POI,以提升处理Excel文件的能力。
struts2导出excel java 导出excel: JXL_excel: 可以直接在elipse下运行的例子 可以直接导出excel文件(包含所需的jar包) CSharpJExcel: 是JXL的官方下载的 包括详细的文档 和jar包
在Java开发中,处理Excel文件是一项常见的任务,特别是在数据分析、报表生成或数据导入导出等场景下。本文将深入探讨两种常用的Java库:Apache POI和JXL,它们都提供了处理Excel文件的能力。 Apache POI是Apache...
在 Java 中,实现 Excel 导入导出可以使用多种方式,本文将介绍使用 JXL 和 POI 两个库实现 Excel 导入导出的方法。 使用 JXL 库实现 Excel 导入导出 JXL(Java Excel API)是一个开源的 Java 库,用于读写 Excel ...
在标题提到的"poiExcel导入导出操作架包"中,Apache POI的核心功能是支持对Excel文件的读取和写入操作,这对于在Java应用程序中进行数据导入和导出非常有用。下面我们将深入探讨Apache POI在Excel导入导出方面的应用...
提供的压缩包文件"excel导出"可能包含了使用JXL和POI生成Excel的示例代码,通过查看这些代码,你可以更好地理解如何在实际项目中应用这两个库。 总结来说,JXL和Apache POI都是Java中用于处理Excel的强大工具,各...
在本文中,我们将深入探讨`jxl`库如何帮助开发者实现Excel的导入和导出功能。 首先,我们需要理解`jxl`库的基本结构和核心概念。`jxl`库主要包含以下几个关键类: 1. `Workbook`:这个类代表一个Excel工作簿,相当...
Java 使用 JXL 进行Excel导入导出是一个常见的任务,特别是在数据处理和分析场景中。JXL 是一个 Java 库,允许开发者方便地读取、写入和操作 Excel 文件(.xls 格式)。以下是对这个主题的详细阐述: 1. **JXL 概述...
本文将深入探讨如何使用jxl.jar在Android中实现数据的Excel导入导出功能。 首先,你需要在项目中添加jxl.jar库。将该库文件放入项目的`libs`目录,并在`build.gradle`文件中进行配置,确保在构建过程中将其打包进...
"导入/导出Excel jxl.jar"是使用JExcelApi(通常简称为JXL)库的一个示例,这是一个开源Java库,允许开发者读取、写入和修改Excel文件。JXL.jar文件就是这个库的实现,它包含了所有必要的类和方法,使得开发者可以...
下面我们将详细介绍如何在SpringBoot中整合POI来实现Excel的导入和导出,以及如何利用ExcelFormatUtil工具类进行单元格数据格式的判断。 首先,我们需要在项目的pom.xml文件中引入Apache POI的相关依赖,具体如下:...
本示例"EXCEL导入导出demo"聚焦于如何利用Java的一个库——jxl,来实现JSP(Java Server Pages)对Excel文件的导入与导出功能。这个功能对于Web应用程序来说极其实用,它允许用户通过浏览器上传Excel文件进行处理,...
在Java编程中,处理Excel文件是一项常见的任务,尤其在数据导入导出、报表生成或数据分析等场景下。jxl.jar是一个专门为Java设计的库,它允许开发者轻松地读取、写入和修改Excel文件。这个库的功能强大,覆盖了从...
JAVA中excel导入导出通用方法 JAVA 中 excel 导入导出通用方法是指在 Java 项目中实现 excel 文件的导入和导出功能。这种方法可以应用于各种需要 excel 文件交互的业务场景中。 一、引入依赖 在 Java 项目中想要...
Excel2003导出工具jxl.jar包,版本虽有点老,但还能用。
1. **数据导入导出**:在企业级应用中,JXL常用于从Excel文件批量导入数据,例如用户信息、订单数据等,或者导出查询结果到Excel供用户下载。 2. **报表生成**:利用JXL可以快速生成定制化的报表,包括表格、图表等...
在Java编程领域,处理Excel文件是一项常见的任务,用于数据导入导出、数据分析或者报表生成等。本文将对比两种主流的Java Excel处理库:jxl和Apache POI,并探讨它们的特性和适用场景。 首先,jxl是较早的Java ...