搜档网
当前位置:搜档网 › java批量导出excel格式数据(含每条数据的附件)

java批量导出excel格式数据(含每条数据的附件)

java批量导出excel格式数据(含每条数据的附件)
java批量导出excel格式数据(含每条数据的附件)

,批量导出数据到excel中(包含每条数据对应的附件)

本程序功能功能说明

采用压缩的方法把用户要导出的excel 文件和excle数据中每条数据对应的文件,打包成一个大文件,输出到缓存区,用户通过浏览器来下载这个文件,缺陷是文件过大时,比如几个G大小的附件,ie下载很慢。建议用360等支持断点续传的功能的浏览器来下载。

Excel查看附件采用的是链接方式

详细如下面截图,点击文件链接,可以链接到相对文件位置的文件夹(因为附件可能是多个,采用的都是文件夹的相对链接的方式实现的),

压缩包内存放的文件结构:

Excel文件,reportfile(存放附件的文件夹,文件夹结构详细见代码)

每行excel 都对应相对的文件夹(reportfile内的某一个子文件夹和excel的行号相对应),如下截图,红色圈圈链接的就是对应的相应文件夹下的appfile文件夹下的文件:

//引入的类

import org.apache.tools.zip.ZipEntry;

//把文件写入到压缩对象out

import org.apache.tools.zip.ZipOutputStream;

import java.io.*;

import java.io.OutputStream;

import java.util.ArrayList;

import java.util.LinkedHashMap;

import java.util.List;

import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFCell;

import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFCellStyle;

import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFFont;

import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFRichTextString;

import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFRow;

import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFSheet;

import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFWorkbook;

import org.apache.poi.hssf.util.HSSFCellUtil;

import org.apache.poi.hssf.util.HSSFColor;

import org.apache.poi.hssf.util.Region;

import https://www.sodocs.net/doc/6110238267.html,ermodel.Font;

import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFHyperlink;

//写入压缩的文件对象

privatevoid zipfileinfo(ZipOutputStream out, File f, String base) throws Exception

{

//记录文件“f”对象在压缩包中的位置及压缩后的文件名称:

out.putNextEntry(new ZipEntry(base));、

// 写入压缩文件对象

FileInputStream in = new FileInputStream(f);

int b = 0;

byte[] buf = newbyte[1024];

while ((b = in.read(buf)) != -1)

{

out.write(buf, 0, b);

}

in.close();

}

// 开始压缩文件

privatevoid ziptmpfilelist(ZipOutputStream out, String factfielnamelist,

String tmpfielnamelist) throws Exception {

String[] tmpList = tmpfielnamelist.split(";");

String[] fackList = factfielnamelist.split(";");

for (int i = 0; i

File tmpfile = new File(fackList[i]);

zipfileinfo(out, tmpfile, tmpList[i].replaceAll("\\\\", "/"));

}

}

@Override

protectedvoid doGet(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

// 存放文件的实际位置位置(绝对路径)

String factfielnamelist=

"D:\\iscm\\attachdata\\2015\\0422\\FuaiFugQArVTjpG;D:\\iscm\\a ttachdata\\2015\\0422\\HIxtANutsZrwDTZ;D:\\iscm\\attachdata\\2 015\\0422\\HIxtANutsZrwDTZ";

// 存放文件的位置(绝对路径)压缩时对应文件在压缩文件中的位置及名称String tmpfielnamelist = "reportfile\\tmp1\\appfile\\项目审批2.ipa;reportfile\\tmp1\\appfile\\项目审批

1.doc;reportfile\\tmp1\\selffile\\app.docx";

try {

// 存放临时文件的目录(绝对路径)ZipOutputStream out = new ZipOutputStream(new FileOutputStream("d:\\test.zip"));

response.reset();

response.setContentType("application/octet-stream");

response.setHeader("Content-Disposition",

"attachment;filename=test.zip");

// 输出到缓存区方式

ZipOutputStream out = new

ZipOutputStream(response.getOutputStream());

// out.setEncoding("gbk");

out.setEncoding("gb2312");

//System.out.println(zipFileName);

ziptmpfilelist(out, factfielnamelist, tmpfielnamelist);

//输出到excel中 List> result 是excel 写入的数据集合,这个需要自己重新定义.

ExportExcelUtils.exportExcelAppReoort("App报备信息", headers, columns,result, "", out);

out.close();

} catch (Exception e) {

e.printStackTrace();

}

}

创建excel对象并写入压缩包方法

/**

* 控制点导出Excel的方法

* @param title excel中的sheet名称

* @param headers 表头

* @param columns 表头对应的数据库中的列名

* @param result 结果集

* @param out 输出流

* @param pattern 时间格式

* @throws Exception

*/

publicstaticvoid exportExcelAppReoort(String title, String[] headers, String[] columns, List> result, String filepath, ZipOutputStream out) throws Exception{

//java.io.FileOutputStream out=new

java.io.FileOutputStream(filepath);

// 声明一个工作薄

HSSFWorkbook workbook = new HSSFWorkbook();

// 生成一个表格

HSSFSheet sheet = workbook.createSheet(title);

// 设置表格默认列宽度为20个字节

sheet.setDefaultColumnWidth(20);

// 生成一个样式

HSSFCellStyle style = workbook.createCellStyle();

// 设置这些样式

style.setFillForegroundColor(HSSFColor.GOLD.index);

style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

style.setBorderBottom(HSSFCellStyle.BORDER_THIN);

style.setBorderLeft(HSSFCellStyle.BORDER_THIN);

style.setBorderRight(HSSFCellStyle.BORDER_THIN);

style.setBorderTop(HSSFCellStyle.BORDER_THIN);

style.setAlignment(HSSFCellStyle.ALIGN_CENTER);

// 生成一个字体

HSSFFont font = workbook.createFont();

font.setColor(HSSFColor.VIOLET.index);

//font.setFontHeightInPoints((short) 12);

font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

// 把字体应用到当前的样式

style.setFont(font);

// 指定当单元格内容显示不下时自动换行

style.setWrapText(true);

// 产生表格标题行

HSSFRow row1 = sheet.createRow(0);

// sheet.addMergedRegion(new CellRangeAddress(1,2,3,4));

//合并单元格

sheet.addMergedRegion(new Region(0,(short)0,0,(short)19));

row1.setHeight((short)600); //设置行高度

HSSFCell cell1 = row1.createCell(0);

cell1.setCellStyle(style);

cell1.setCellValue(title); //"App报备信息"

HSSFRow row = sheet.createRow(1);

for (int i = 0; i

HSSFCell cell = row.createCell(i);

cell.setCellStyle(style);

HSSFRichTextString text = new HSSFRichTextString(headers[i]); cell.setCellValue(text);

}

// 遍历集合数据,产生数据行

if(result != null){

int index = 2;

for(LinkedHashMap m:result){

row = sheet.createRow(index);

int cellIndex = 0;

for(String s:columns){

HSSFCell cell = row.createCell(cellIndex);

//cell.setCellStyle(style2);

HSSFRichTextStringrichString = new HSSFRichTextString(m.get(s) == null ? "" : m.get(s).toString());

if(s.equals("appAttr") || s.equals("threeSynAttr") )

{

//当前记录记录附件链接的文件夹位置(文件可能多个,如果一个的话,可以自己处理直接链接指向文件)

String tmp=richString.toString();

if (!(richString.toString().equals("")))

{

cell.setCellValue("文件链接");

HSSFHyperlink link =

new HSSFHyperlink(HSSFHyperlink.LINK_URL);

link.setAddress(richString.toString());

cell.setHyperlink(link);

}

}

else

{

if(cellIndex==0)

cell.setCellValue(Integer.valueOf(m.get(s).toString()));

else

cell.setCellValue(richString);

}

cellIndex++;

}

index++;

}

}

//写入压缩包

out.putNextEntry(new ZipEntry("appReport.xls"));

workbook.write(out); //写入文件

}

java导入导出excel操作

java导入导出excel操作(jxl) Java解释Excel数据(包的使用) 关键字: java excel 包 下载地址: 真实下载地址: 网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java 的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel 文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。 搭建环境 将下载后的文件解包,得到,放入classpath,安装就完成了。 基本操作 一、创建文件 拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下: Java代码 /* * Created on Dec 30, 2007 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ package ; import .*; import jxl.*; import .*;

/** * @author Ken * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ public class CreateXLS { public static void main(String[] args) { try { WritableWorkbook book = (new File("d:/")); 0 means this is 1st page. WritableSheet sheet = ("Sheet_1", 0); value is "test". Label label = new Label(0, 0, "test"); (label); WARN:necessarily use integrated package-path, otherwise will be throws path -error. value is . number = new0, ; (number); (); (); } catch (Exception e) { (); } } } 编译执行后,会在当前位置产生一个Excel文件。 二、读取文件 以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:

JSP中导入导出Excel文件

JSP中导入导出Excel文件 一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel 对象,你可以控制一些属性如sheet,cell等等。 二.HSSF概况 HSSF 是sHorrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。也许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。 HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。 三.开始编码 1 .准备工作 要求:JDK 1.4+POI开发包 可以到 https://www.sodocs.net/doc/6110238267.html,/dyn/closer.cgi/jakarta/poi/ 最新的POI工具包 2 . EXCEL 结构 HSSFWorkbook excel 文档对象介绍 HSSFSheet excel的表单 HSSFRow excel的行 HSSFCell excel的格子单元 HSSFFont excel字体 HSSFName 名称 HSSFDataFormat 日期格式 HSSFHeader sheet头 HSSFFooter sheet尾 和这个样式 HSSFCellStyle cell样式

Java实现Excel数据导入和导出的研究与应用

Java实现Excel数据导入导出的研究与应用 王晶晶 北京邮电大学网络教育学院(100088) E-mail:bolalisi_double@https://www.sodocs.net/doc/6110238267.html, 摘要:Excel能够通过功能强大的工具将杂乱的数据组织成有用的信息,然后分析、交流和共享所得到的结果。很多系统由于存在着大量需要处理的数据,Excel本身强大的功能使得它成为处理分析这些数据首选的工具。随着Java语言成为越来越多系统的开发语言,利用Java进行Excel的数据导入导出在很多系统中都发挥着重要的作用,本文主要介绍了Jxl API的主要功能,并结合实例探讨了利用Jxl API操作Excel数据的导入和导出。 关键字:Java;Excel; Jxl API;数据导入导出 中图分类号:TP312文献标识码:A 1. 引言 MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。在远程网络教学系统中,利用Excel表格统计学生的作业考试情况信息,便于老师了解学生的学习情况,分析教学效果,制定教学计划。所以,用Java操作Excel表格,导出相关的信息对于远程网络教育系统有着的很重要的意义。 在开源世界中,有两套比较有影响的API提供Excel数据导入导出的功能,一个是POI,一个是jExcelAPI。本文结合基于J2EE开发的多媒体教学系统中提供的将学生作业信息导出到Excel表格中的实例,详细阐述了利用JAVA开发的jExcelAPI操作excel的方法。 2. Jxl 简介 2.1 Java语言简介 Java语言具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为强大的编程语言[1]。它具有以下一些特点[2]:简单,面向对象,分布式,解释执行,鲁棒,安全,体系结构中立,可移植,高性能,多线程以及动态性。 2.2什么是Jxl Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该 API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、 Servlet来调用API实现对Excel数据表的访问。 Jxl发布的稳定版本是V2.0,提供以下功能: 从Excel 95、97、2000等格式的文件中读取数据[3]; 读取Excel公式(可以读取Excel 97以后的公式)[3];

.NET页面数据导出excel表方法

public void CreateExcel(DataSet ds,string typeid,string FileName) { HttpResponse resp; resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName); string colHeaders= "", ls_item=""; int i=0; //定义表对象与行对像,同时用DataSet对其值进行初始化 DataTable dt=ds.Tables[0]; DataRow[] myRow=dt.Select(""); // typeid=="1"时导出为EXCEL格式文件;typeid=="2"时导出为XML格式文件if(typeid=="1") { //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符for(i=0;i colHeaders+=dt.Columns[i].Caption.ToString()+"\t"; colHeaders +=dt.Columns[i].Caption.ToString() +"\n"; //向HTTP输出流中写入取得的数据信息 resp.Write(colHeaders); //逐行处理数据 foreach(DataRow row in myRow) { //在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n for(i=0;i ls_item +=row[i].ToString() + "\t"; ls_item += row[i].ToString() +"\n"; //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 resp.Write(ls_item); ls_item=""; } } else { if(typeid=="2") { //从DataSet中直接导出XML数据并且写到HTTP输出流中 resp.Write(ds.GetXml()); } } //写缓冲区中的数据到HTTP头文件中 resp.End(); }

JAVA导出EXCEL类(TSV格式)

package com.bear.util; import java.io.*; import javax.swing.*; import javax.swing.table.*; public class ExcelUtil { public void exportTable(JTable table,String title) throws IOException { TableModel model = table.getModel(); JFileChooser fileChooser = new JFileChooser(); fileChooser.setCurrentDirectory(new File("."));//设置当前目录 fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.addChoosableFileFilter(new javax.swing.filechooser.FileFilter() { public boolean accept(File file) { if (file.isDirectory()) return true; return (file.getName().indexOf("xls") != -1); } public String getDescription() { return "Microsoft Excel文件(*.xls)"; } }); //fileChooser.showSaveDialog(null); int returnVal =fileChooser.showSaveDialog(fileChooser); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file.exists()) { int copy = JOptionPane.showConfirmDialog(null,"是否要覆盖当前文件?", "保存", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE); if (copy == JOptionPane.YES_OPTION) fileChooser.approveSelection(); else return; } else fileChooser.approveSelection(); FileWriter out = new FileWriter(file); out.write(title + "\n\n"); for(int i=0; i < model.getColumnCount(); i++) out.write(model.getColumnName(i) + "\t"); out.write("\n"); for(int i=0; i< model.getRowCount(); i++) {

图解把EXCEL数据导入到SQL SERVER 2008

实验环境:WIN XP,MS Office Excel2007,Sql Server2008 准备数据:Excel文档:D:\test\重复出修率.xlsx 方法一: 第一步:打开SSMS: 【开始】→【所有程序】→【Microsoft Sql Server2008】→【Sql Server Management Studio】

第二步:连接数据库: 在’对象资源管理器’中点击【连接】→【数据库引擎】登陆服务器 (P.S:如果没有看到’对象资源管理器’,点击左上角的【视图】→【对象管理器】) 第三步:登陆成功后,右击你要导入数据的数据库名,我这里数据库名是’TEST’ 右击【TEST】→【任务】→【导入数据】

这时候会出现一个向导:点击【下一步】 在弹出的窗口中,【数据源】选择:Microsoft Excel; 【Excel文件路径】就选择你本地电脑存放Excel文档的路径,我这里是D:\test\重复出修率.xlsx 【Excel版本】选择Excel2007(可以根据你office的版本,选择其他如Excel2003等等。)选中【首行包含列名称】框,最后点击【下一步】 “首行包含列名称”是指Excel中的首行数据插入数据库后将作为新建表的列名.

在弹出窗口中,【目标】可以采取默认的,【服务器名称】也是一样可以选择身份验证,最后选择你要插入数据到哪个数据库中。 如我这里选的是’TEST’,选好后点击【下一步】

如果就把Excel数据插入一个新表,就选择【复制一个或多个表或视图的数据】 如果想把Excel数据插入到已存在的一张表中,则选择下面的【编写查询以指定要传输的数据】 我这里是选择上面一个,然后点击【下一步】 接着会弹出Excel表中的sheet表名字,如果你没有修改过sheet表名字,则可能显示的是’shee1$’,’shee2$’,’shee3$’等等. 然后你选中你想要导入的哪张表的数据,我这里导入的是【’aug$’】 选中后,右边的【目标】栏位中会出现内容, dbo是指数据库的架构名,aug$只是新建的表名,如果你想修改表明,双击就可以表明进入编辑状态就可以修改了。我这里修改的表名称为:aug_info

Excel表格应用中大量数据快速录入技巧

Excel表格应用中大量数据快速录入技巧 高考及其他许多类似工作有大量的数据需要录入,为了便于汇总,各校必须统一格式,所以一般由上级主管部门设计好一个数据库,再辅之以一个录入的界面。这样虽然操作起来非常直观,但丝毫不能减轻数据录入的工作量(除了自动编号之外)。仔细研究一下他们的数据库和数据构成,我们就可以放弃那些漂亮的录入界面,在EXCEL2000中轻松完成。 一、表头的设计处理 首先要自己设计一张工作表。表头上的表项设置,必须建立在对上级部门数据库的认真剖析的基础之上。如果是传统的DBF数据库,当然可以直接在EXCEL中进行相关操作;如果是ACCESS数据库,经过适当处理,我们也可以在EXCEL2000中对它进行操作。实在不行,那就逐项记录下所要录入的数据项,自己设计一个表头也是可以的。表头最好用汉字注明,这样可以避免录入时出现张冠李戴的情形,需要时再适当调整一下就行了。 二、“查找、替换”和“自动更正”功能的巧用 再来分析一下这些数据:在“毕业学校”一栏,有好多个学生毕业于同一所学校,重复输入效率肯定不高。对,有了,先自己定义几个字符来临时替代一下各个学校的名称(如用“4 Z”代表“枣阳市第四中学”,等全部完成后再按“Ctrl+H”把所有的“4Z”全部替换为“枣阳市第四中学”不就行了? [提示:尽量用一些简单好记、易录入、不会与其他内容发生混淆的字符来执行替换,不过不要光顾了简单好记,否则,你用“4”代替“枣阳市第四中学”试试,做了“全部替换”后可别骂人哟!] 如果你连Ctrl+H这一步也想省去,你可以试试EXCEL的“自动更正”功能。使用自动更正功能,可以简化用户对大量重复数据的输入操作,例如可以将上面的“4z”定义更正为“枣阳市第四中学”,定义的方法是: 1.从工具菜单中选择“自动更正”,打开自动更正对话框。 2.在“替换”框中输入数据,如:“4z”,在“替换为”框中输入数据,如:“枣阳市第四中学”,单击“添加”,再单击“确定”。 之后,只需在单元格中输入“4z”两字,即会自动更正为“枣阳市第四中学”。 三、输入法的自动切换 在输入数据时,一张工作表中同时包含汉字、英文字母和数字,那么对于不同的单元格,输入时不断地切换输入方式也是人为增加的录入工作量。只要作一下预处理,便可以使Ex cel对不同类型的单元格实现输入法的自动切换。

用Excel获取网页内容的方法

在浏览网页时,你一定会不时看到一些需要保存的数据信息。这些信息或许是一个完整的表格,或许是一段文字,如果要保存这类信息,我们常用的方法就是拖动鼠标,选中这些信息,然后用Ctrl+C组合键复制文字,然后再保存到Word、Excel当中去。 这样的步骤算不上麻烦,但如果要求你在一个个内容丰富的大网页(比如新浪、网易、Sohu首页)中频繁地复制、粘贴,一定会让你感到疲劳和浪费时间。有什么好办法呢?用“Ctrl+A”全选后复制所有文字?粘贴后你会发现麻烦更大,因为所有文字都堆在一起了!下面,理睬教你一种方便的方法。 实例:抓取新浪首页不同位置内容 第一步:打开IE,访问理睬博客首页https://www.sodocs.net/doc/6110238267.html,/ 。 第二步:在网页左侧或右侧的空白处点击鼠标右键,在菜单中选择“导出到Microsoft Office Excel”。注意,不要在文字链接之间的空白处点右键,而是应该在完全没有任何网页内容的地方点右键。 第三步:这时Excel会启动,并出现一个“新建Web查询”的窗口。稍等片刻,等待这个窗口中显示出了完整网页,左下角会出现“完毕”字样。注意观察网页,你会发现网页被分割成了很多小的表格,每个表格的左上角有一个小的箭头标志。 第四步:双击窗口最上方标题栏,最大化窗口。依次找到要收藏的内容,然后按下该位置左上角的箭头,使它变成绿色的对勾。然后按下下方的“导入”按钮。 第五步:在弹出窗口中选择放置位置,然后按下“确定”按钮,文字、表格信息就可以自动导入Excel 了。字体格式、颜色自动处理为Excel默认的样式,表格也会被放到适当的单元格中。这样,就有效避免了直接复制粘贴网页造成一些无法识别的格式、链接信息加入网页,同时提高了导入速度。 你知道吗? 如何不将网页格式带入Office文档中? 当你在浏览器中复制一段内容,然后粘贴到Word、Excel中,会将一些网页格式直接照搬进来,这可能不是我们希望的,因为它会增大文件体积,也不利于加工整理。其实,你只要不用“Ctrl+V”来粘贴,而是选择Word、Excel中的“编辑→选择性粘贴→文本”来进行粘贴就可以了。

Java数据导入导出Excel

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.UnderlineStyle; import https://www.sodocs.net/doc/6110238267.html,bel; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFCell; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFCellStyle; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFRow; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFSheet; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class ExcelOpt { /** * 生成一个Excel文件jxl * @param fileName 要生成的Excel文件名 * @jxl.jar 版本:2.6 */ public static void writeExcel(String fileName){ WritableWorkbook wwb = null; try { //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象 wwb = Workbook.createWorkbook(new File(fileName)); } catch (IOException e) { e.printStackTrace(); } if(wwb!=null){ //创建一个可写入的工作表 //Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置

网页数据如何简单导出excel

https://www.sodocs.net/doc/6110238267.html, 网页数据如何简单导出excel 在浏览网页时,遇到我们需要的网页数据时,如文字、图片等,如何能简单的导出到Excel 中,方便在本地电脑中查看和编辑呢?当然是有办法的啦!下面就为大家介绍几种简单快速的将网页数据导出到Excel的方法,大家可以灵活运用。 一、通过浏览器导出网页数据 具体操作:打开某网页后,右键点击网页空白处,在下拉列表中选择“另存为”,然后在弹出的保存窗口中选择保存类型为“网页全部”。选择保存位置后确定,保存后就会自动保存两个文件,一个是网址,另一个是保存网页内容元素。 如何导出网页数据,以赶集网采集为例图1

https://www.sodocs.net/doc/6110238267.html, 二、通过网页数据采集器导出网页数据 先通过网页数据采集器,将网页数据采集下来,然后再导出为需要的格式即可。本文使用的是操作简单、功能强大的八爪鱼采集器。以下是一个八爪鱼采集并导出网页数据的完整示例。示例中采集的是赶集网上房产-商铺-深圳-南山分类下的所有商铺信息。 示例网站:https://www.sodocs.net/doc/6110238267.html,/fang6/nanshan/ 步骤1:创建采集任务 1)进入主界面,选择“自定义模式” 如何导出网页数据,以赶集网采集为例图2 2)将要采集的网址URL,复制粘贴到网址输入框中,点击“保存网址”

https://www.sodocs.net/doc/6110238267.html, 如何导出网页数据,以赶集网采集为例图3 步骤2:创建翻页循环 1)在页面右上角,打开“流程”,以展现出“流程设计器”和“定制当前操作”两个板块。将页面下拉到底部,点击“下一页”按钮,在右侧的操作提示框中,选择“循环点击下一页”

EXCEL高级数据处理技巧之2

上海蓝草企业管理咨询有限公司 EXCEL高级数据处理技巧 ——教练式课程带你一步一步轻松快捷地工作 【课程背景】 EXCEL在我们的日常工作中,可以说每天都在用,不管你是行政、文秘、销售、还是HR、财务……可以说各个公司,各个部门都离不开EXCEL的统计分析…… 走遍全国各地、使用EXCEL的各个公司的工作人员,几乎每个人的EXCEL都是使用很复杂的方式在繁杂的数据海洋中进行着艰辛的工作着…… 您是否还在这样的工作着: 1.移动数据几乎都会使用剪切命令的,应该是用一键移动的,朋友们! 2.把数据求和写在数据的下一行或者下一列中,几乎都是使用Sum函数,之后再去 拖拽填充公式,应该是用一键求和的,朋友们! 3.大数据的选择几乎都是拖动选择的,其实是可以一键选择的,朋友们! 4.发给别人填写的数据,收回来后会面目全非,其实数据是可以保护的,朋友们…… 诸如此类,你是否还在被这些问题所困扰,那你就应该参加本次课程的学习,让你的EXCEL数据统计分析轻松自如,从此妈妈再也不用担心我的工作…… 【课程目标】 快速快捷高效的EXCEL数据分析统计方法,从此再也不用加班加点,提高工作效率,减小工作压力,轻松快乐的工作和生活…… 【课程特点】 中央电视台特邀Office高级讲师带你快速快捷高效的学习EXCEL技巧; 20多年工作经验的讲师为您现场答疑解惑; 教练式教学:边讲边练习; 实例讲解:实用的案例; 必须自己记录讲解知识点; 最好是Office2010以上的EXCEL版本…… 【课程收益】 快速整理为规范的EXCEL数据--便于后期的统计分析 一键操作--快速高效的EXCEL技巧 实用函数--工作中常用的案例诠释EXCEL函数的强大功能 数据透视表--快速高效的大数据统计分析技巧 专业的商务图表--让你的图表会说话…… 【课程对象】 不限制,使用EXCEL工作的人员…… 【课程时间】2天12小时(建议3天18小时效果好) 【课程内容】具体讲课内容多少、深度,根据现场学员具体需求及基础情况而定

java实现excel导入导出

Java数据导入Excel package com.bossy.base; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.UnderlineStyle; import https://www.sodocs.net/doc/6110238267.html,bel; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFCell; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFCellStyle; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFRow; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFSheet; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem;

Excel轻松提取网上数据

网上信息采集工作,最头疼的便是从网页上一次次很枯燥地进行数据表格的复制,而且在复制过来之后还要进行很多修改,不但麻烦而且也很浪费时间,工作效率大打折扣。这时我们不妨用功能强大的Excel来试着解决一下问题。 对于比较规范的表格数据,我们完全可以在表格页面上点击右键,选择"导出到Microsoft Office Excel"(图1),此时系统会自动打开Office Excel,进行数据加载。这个过程仅需要几秒钟就把数据加载进来(图2)。如果你认为数据比较适合你的编辑要求,那么就可以直接保存了。否则,也可以做一下适当的修改,因为在表格处理方面,Excel要大大优于word。 图1 在网上表格或数据采集这一点上,Excel往往是较为智能化的,它在进行数据采集与加载时,只加载表格固定区域内的数据,而不是把整个网页都加载进来。这一点我试过很多次,都是很听话的,请看图片2的效果。

图2 当然,在网页中也有一些不太规范的数据与表格,这样的数据,Excel处理起来,稍稍有一点难度,不过只要熟悉Excel 的操作功能的话,还是可以轻松搞定的。先看一下这个页面(图3), 图3 图3这种不规范的页面数据,如果让Excel处理起来就会出现这样的结果(图4),看着是不是感觉很乱,所有的东西都错位了,一般的人会感到速手无策的。主要原因就是多出了文件数据的开头与结尾。

图4 不过,只要我们删除文件上下两头的不规范的区域,剩下的这些数据不就变得好处理了吗?这时,我们再执行一下菜单:"数据――分列――下一步",这样就可以把不规范的数据变得规范了。这是处理之后的结果(图5) 图5 对于那些本来就比较规范的表格,就简单得多了,只要执行"导出加载――略修――保存"就可以了。

java导出excel案例

JA V A实现EXCEL的导入和导出(四) JA V A EXCEL API简介 Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。 现在发布的稳定版本是V2.0,提供以下功能: * 从Excel 95、97、2000等格式的文件中读取数据; * 读取Excel公式(可以读取Excel 97以后的公式); * 生成Excel数据表(格式为Excel 97); * 支持字体、数字、日期的格式化; * 支持单元格的阴影操作,以及颜色操作; * 修改已经存在的数据表; 现在还不支持以下功能,但不久就会提供了: 1. 不能够读取图表信息; 2. 可以读,但是不能生成公式,任何类型公式最后的计算值都可以读出; 回页首 应用示例 1 从Excel文件读取数据表 Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表。读取Excel数据表的第一步是创建Workbook(术语:工作薄),下面的代码片段举例说明了应该如何操作:(完整代码见ExcelReading.java) import java.io.*; import jxl.*; … … … … try { //构建Workbook对象, 只读Workbook对象 //直接从本地文件创建Workbook //从输入流创建Workbook InputStream is = new FileInputStream(sourcefile); jxl.Workbook rwb = Workbook.getWorkbook(is); } catch (Exception e) { e.printStackTrace();

JAVA导出WORD与EXCEL

package ais.mytest.web; /** * 功能:主要实现数据导出Excel和Word功能* 日期:2008-2-28 */ import ais.basic.service.BasicUtil; import https://www.sodocs.net/doc/6110238267.html,mons.file.service.FileService; import ais.framework.web.BaseAction; import ais.mytest.model.Employeer; import ais.mytest.service.IemployeerService; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.text.DecimalFormat; import jxl.write.NumberFormat; import java.util.List; import javax.servlet.ServletOutputStream; import jxl.Cell; import jxl.Workbook; import jxl.format.Alignment; import jxl.format.UnderlineStyle; import jxl.format.VerticalAlignment; import jxl.format.Border; import jxl.format.BorderLineStyle; import jxl.format.BoldStyle; import jxl.format.Colour; import jxl.write.Blank; import jxl.write.DateFormat; import jxl.write.DateTime; import https://www.sodocs.net/doc/6110238267.html,bel; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableImage; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; //import com.ibm.icu.text.SimpleDateFormat; //import com.lowagie.text.Cell; import com.lowagie.text.Document; import com.lowagie.text.Font; import com.lowagie.text.Image;

html页面表格导出到excel总结

html页面表格导出到excel总结 最近一个项目需要把报表的表格导入excel,在网上找了一些方法,比较研究了一下,记在这里,备忘。 表格例子如下:

html 表格导出道Excel td> tr>
列标题1td> 列标题2td> 类标题3td> 列标题4td> 列标题5td> tr>
aaa td> bbb td> ccc td> ddd td> eee td> tr>
AAA td> BBB td> CCC td> DDD td> EEE td>

tr>

FFF td> GGG td> HHH td> III td> JJJ td> tr> table> 1、js的方法 A、将整个表格拷贝到EXCEL中 function method1(tableid) { var curTbl = document.getElementById(tableid); var oXL = new ActiveXObject("Excel.Application"); var oWB = oXL.Workbooks.Add(); var oSheet = oWB.ActiveSheet; var sel = document.body.createTextRange(); sel.moveToElementText(curTbl); sel.select(); sel.execCommand("Copy"); oSheet.Paste(); oXL.Visible = true; } B、读取表格中每个单元到EXCEL中: function method2(tableid)

Java高效实现批处理Excel数据导入数据库代码

(SQLServer) 库入数据处理Excel数据导批Java实现注:这是我之前写的Java实现批处理Excel数据导入数据库代码,绝对原创(最初发表于百度博客),可以实现批量处理,效率很高。使用时,里面有些(尤其那些红色部分)地方需要改为自己的数据信息。 package com.jxl; import jxl.Cell; import jxl.Sheet; import java.io.File; import java.io.InputStream; import java.sql.*; import java.util.Vector; import java.io.FileInputStream; import jxl.Workbook; /** * 耗时315.469秒jxl.jar excel导入SQL 包 * 耗时131.469秒 * 耗时125.448秒(系数6000) */ public class ExcelReadPre { public static void main(String[] args) { ExcelReadPre cr = new ExcelReadPre(); long start = System.currentTimeMillis();// 记录开始时间 cr.testRun();// 开始执行 long end = System.currentTimeMillis(); System.out.println(============耗時:==== + ((end - start) / 1000.0)); } public void testRun() { \\k0527\\;//自己存放excel文件的目录瑓楲杮瀠瑡??F:\\学习 try { File fileDir = new File(path); File files[] = fileDir.listFiles(); for (int i = 0; i < files.length; i++) { System.out.println(P第?椨??个文件:===== + files[i].getAbsolutePath()); this.writeToDb(files[i].getAbsolutePath()); } if (this.con != null && !con.isClosed()) { this.con.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }

java批量导出excel格式数据(含每条数据的附件)

,批量导出数据到excel中(包含每条数据对应的附件) 本程序功能功能说明 采用压缩的方法把用户要导出的excel 文件和excle数据中每条数据对应的文件,打包成一个大文件,输出到缓存区,用户通过浏览器来下载这个文件,缺陷是文件过大时,比如几个G大小的附件,ie下载很慢。建议用360等支持断点续传的功能的浏览器来下载。 Excel查看附件采用的是链接方式 详细如下面截图,点击文件链接,可以链接到相对文件位置的文件夹(因为附件可能是多个,采用的都是文件夹的相对链接的方式实现的), 压缩包内存放的文件结构: Excel文件,reportfile(存放附件的文件夹,文件夹结构详细见代码) 每行excel 都对应相对的文件夹(reportfile内的某一个子文件夹和excel的行号相对应),如下截图,红色圈圈链接的就是对应的相应文件夹下的appfile文件夹下的文件: //引入的类 import org.apache.tools.zip.ZipEntry; //把文件写入到压缩对象out import org.apache.tools.zip.ZipOutputStream; import java.io.*; import java.io.OutputStream; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFCell; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFCellStyle; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFFont; import https://www.sodocs.net/doc/6110238267.html,ermodel.HSSFRichTextString;

jsp页面内容导出到Excel中

jsp页面内容导出到Excel中 日常使用网络资源时经常需要把网页中的内容下载到本地,并且导出到Excel中,现在介绍一种非常简单的方式实现网络资源的下载。只需要讲jsp的最上面加上一句话 <% response.reset(); response.setContentType("application/vnd.ms-excel;charset=GBK"); %> 就可以将网页的内容导出为Excel。 目前给出的例子为了方便起见,就是使用了纯粹的静态页面,一个table其中有一行是标题,一行是内容,但是实际使用中不可能这么简单,都是保持静态的内容,如果需要保存的内容是从数据库中取出,则只需要循环遍历取出的内容,添加行就行了,假如从数据库中取出的数据存入UserList 中,可以使用struts标签进行遍历如下:

清单
姓名 年龄 性别 住址