package com.java.util;
import java.io.File;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/**
* @param args
* @throws Exception
* 以下是通过开源框架jxl实现的一个 解析、创建、修改的例子
*/
public class ExcelParse {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) {
ExcelParse eParse = new ExcelParse();
try {
//String string = eParse.parseXLS("F:\\j\\test.xls");
// eParse.createXLS("f:\\j\\temp.xls");
eParse.modifyXLS("F:\\j\\test.xls");
} catch (Exception e) {
e.printStackTrace() ;
}
}
// 解释EXCEL 并返回Content
@SuppressWarnings("unused")
private String parseXLS(String path) throws Exception {
StringBuffer sb = new StringBuffer(0);
Workbook wk = Workbook.getWorkbook(new File(path));
if (wk == null) return null;
Sheet[] sheet = wk.getSheets(); // 取所有工作表
for (Sheet _sheet : sheet) {
System.out.println("当前工作表名称 :" + _sheet.getName());
int rownum = _sheet.getRows();// 取当前工作表行数
System.out.println("当前工作表行:" + rownum);
for (int i = 0; i < rownum; i++) {
Cell[] cells = _sheet.getRow(i);//取当前row中所有cell
for (Cell cell : cells) {
sb.append(cell.getContents() + " - - - ");
}
sb.append("\n");
}
}
wk.close() ;
return sb.toString();
}
//修改EXCEL
public void modifyXLS(String path)throws Exception{
Workbook wk = Workbook.getWorkbook(new File(path)) ;
WritableWorkbook wwk = Workbook.createWorkbook(new File("f:\\j\\g.xls"), wk);
WritableSheet ws = wwk.getSheet(0);
// 第2行第0列
WritableCell cell = ws.getWritableCell(0,2);
Label lable = (Label) cell;
lable.setString("Fuck you !");
wwk.write();
wwk.close();
wk.close();
}
//创建一个EXCEL
@SuppressWarnings("unused")
private void createXLS(String xlsPath) throws Exception{
WritableWorkbook wwb = Workbook.createWorkbook(new File(xlsPath));
WritableSheet ws = wwb.createSheet("测试", 0); //创建一个可写的sheet
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 6; j++) {
//设置字体
WritableFont wf = new WritableFont(WritableFont.TIMES, 18,
WritableFont.BOLD, true);
//设置颜色
wf= new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD, false,
UnderlineStyle.NO_UNDERLINE, Colour.RED);
WritableCellFormat wcfF = new WritableCellFormat(wf);
Label lable = new Label(j, i, "这是第"+(i)+"行第"+(j)+"列",wcfF);
ws.addCell(lable);
/* //添加图片
WritableImage wiImage = new WritableImage(j, i, 5,
5, new File("f:\\j\\aa.png"));
ws.addImage(wiImage);
*/
/*
添加页眉页脚
HeaderFooter hf = new HeaderFooter();
hf.getLeft().append("left");
hf.getCentre().append("centre");
hf.getRight().append("right");
//加入页眉
ws.getSettings().setHeader(hf);
//加入页脚
//ws.getSettings().setFooter(hf);
*/
}
}
wwb.write() ; //将内存中的数据写入目标
wwb.close() ;
}
}
//以下代码是通过poi框架实现
//导出Excel 列表
public ActionForward printExcel(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "inline; filename=\"order.xls\"");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "No-cache");
response.setDateHeader("Expires", 0);
String order = request.getParameter("order");
HSSFWorkbook wb = this.getHSSFWorkbook(orderMgr.getCommodityByOrderNo(order),order) ;
wb.write(response.getOutputStream());
response.flushBuffer() ;
return null;
}
private HSSFWorkbook getHSSFWorkbook(List<Object[]> list , String order){
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("sheet1");
sheet.setColumnWidth(0,5000) ;
sheet.setColumnWidth(1,7000) ;
sheet.setColumnWidth(2,5000) ;
sheet.setColumnWidth(3,7000) ;
sheet.setColumnWidth(4,5000) ;
// HSSFCellStyle style = wb.createCellStyle();
// style.setAlignment(HSSFCellStyle.ALIGN_CENTER) ;
// style.setFont(font);
HSSFCellStyle pubStyle = wb.createCellStyle() ;
pubStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER) ;
HSSFRow row = sheet.createRow(0);
row.setHeight((short) 400 ) ;
HSSFCell orderNO = row.createCell(0) ;
orderNO.setCellValue("订单号");
orderNO.setCellStyle(pubStyle);
row.createCell(1).setCellValue(order);
HSSFRow rowb = sheet.createRow(1);
HSSFCell ca = rowb.createCell(0);
ca.setCellValue("货号");
ca.setCellStyle(pubStyle);
HSSFCell cb =rowb.createCell(1);
cb.setCellValue("书名");
cb.setCellStyle(pubStyle);
HSSFCell cc = rowb.createCell(2);
cc.setCellValue("报定数量");
cc.setCellStyle(pubStyle);
HSSFCell cd =rowb.createCell(3);
cd.setCellValue("当前架位号");
cd.setCellStyle(pubStyle);
HSSFCell ce = rowb.createCell(4);
ce.setCellValue("当前库存数量");
ce.setCellStyle(pubStyle);
for (int i = 0; i < list.size(); i++)
{
Object[] obj = list.get(i) ;
HSSFRow tmpR = sheet.createRow(i+2);
HSSFCell plucode =tmpR.createCell(0);
plucode.setCellValue(obj[0].toString());
plucode.setCellStyle(pubStyle);
HSSFCell bookName = tmpR.createCell(1);
bookName.setCellValue(obj[1].toString());
bookName.setCellStyle(pubStyle);
HSSFCell buyCount = tmpR.createCell(2);
buyCount.setCellValue(obj[2].toString());
buyCount.setCellStyle(pubStyle);
HSSFCell point = tmpR.createCell(3);
point.setCellValue(obj[3].toString());
point.setCellStyle(pubStyle);
HSSFCell discount=tmpR.createCell(4);
discount.setCellValue(obj[4].toString());
discount.setCellStyle(pubStyle);
}
return wb ;
}
分享到:
相关推荐
在java web系统应用中我们经常会用到大批量数据的导出,动辄就上几十万几百万的数据让我们的程序感觉...java中使用poi导出Excel大批量数据到客户端 存在两个导出方法:存在一个分批量导出ZIP文件,一个导出exel文件
这个示例代码使用 Npoi 库创建了一个 Excel 文件,并将数据写入到文件中。然后,使用 HttpResponse 将文件返回给客户端。 三、使用 Npoi 导入 Excel 文件 使用 Npoi 库也可以轻松地将 Excel 文件导入到 ASP.NET ...
web嵌入excel控件,如果客户端是office 2007 更改classid即可。
当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取 它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则...
Stimulsoft Reports.Web将提供完整的报表创建周期,从报表模板开始到在浏览器中显示报表为止。这一过程可在web浏览器未被关闭时完成。 Stimulsoft Reports.Web是第一款可以让您直接在Web中编辑报表的报表工具。在您...
需要把html页面中表格导出到excel的; 5. 需要在html页面中套打票据、报表的; 6. 需要在html页面中显示复杂报表,并要求精确打印预览及打印的; 7. 需要动态生成中国式复杂格式报表的; 8. 需要在html页面中输入...
Web完整性测试会议提供从Integrity到Excel的测试用例,测试步骤和结果的下载和上传。 这是仅Web解决方案,您无需安装任何客户端工具。 该实现是使用JSP和Java完成的,它们最终将被编译为Servlet。 尽管这是一个...
16.4.1 创建到Analysis Services多维数据集的Office数据连接 359 16.4.2 用SQL Server 2005 Analysis Services的数据创建指标 361 16.5 手动实现KPI 363 16.6 小结 364 第17章 实现业务数据目录 365 17.1 确定业务...
UniGUI 集合说明 UniGUI 是一个基于 Delphi 的 Web 应用程序开发框架,旨在帮助开发者快速...为此,需要在 UniGUI 中使用 UniDBGrid 对象来显示数据,并使用 JavaScript 语言来编写客户端逻辑,以实现数据的导出。
2、 “导出数据到Excel文件” 功能; 其设计目标是简单易用、功能足够强大,开创WEB打印开发的新局面。 Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可实现复杂的打印...
24.需要在web页面导入导出Excel单元格数据的; ……… SOAOFFICE中间件包括三个内置组件:SOAExcel、SOAWord、SOAPowerPoint。另外企业版还包括支持PDF文件的SOAPDF组件。 SOAOFFICE 中间件采用标准HTTP传输协议,...
27.如何导出数据到Excel文件见样例二十七 28.如何快速读取客户端系统信息见样例二十八 29.如何使用其它长度单位见样例二十九 30.如何分页输出页面内容见样例三十 31.如何打印表格的分页小计或合计见样例三十一 32....
53.导出用户功能,可选择条件过滤导出,指定导出项目,导出成txt或Excel格式。 54.页面广告分区添加及管理和客户端广告管理。 55.随时在线整理硬盘和数据库中的数据,保持数据最优化。 56.在线压缩及备份数据库功能...
新星在线综合考试系统是一套集网上考试、测试练习的软件,它的考试和测试练习模块采用Web方式,能适用于局域网和Internet,无需安装客户端即可实现网上考试和测试练习。本系统支持英语,语文,数学,计算机以及其它...
6. 添加/更新时内置多文件上传到文件夹或者数据库功能,并可设置图片的缩略图生成功能. 7. 列表显示时具备数据合计功能. 8. 记录添加的替换字段/替换指/下拉列表选择/布尔字段替换功能..... 9. 内置记录详细查看...
Public class DataToExcel 操作EXCEL导出数据报表的类 Public class DESDEncrypt DES加密/解密帮助类。 Public class DirectoryHelper 文件夹帮助类 Public class DownloadEventArgs 下载数据参数 Public class ...
,自动生成insert select update delete 语句,支持导出到文件,从文件导入执行 sql ,页面在线编辑数据,浏览整个数据库,全库检索,自定义导出数据等等等等,功能很多很实用,是项目开发人员的得力助手。...
查询时可以根据多种条件组合查询货品记录,可通过EXCEL表导出数据,并可以打印出历史数据列表。 入库管理:(包括新增、入库单查询、 入库货品查询)对入库货品进行审批,也可以建立直接入库单,对入库货品进行查询...