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文件
web嵌入excel控件,如果客户端是office 2007 更改classid即可。
当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取 它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则...
Stimulsoft Reports.Web将提供完整的报表创建周期,从报表模板开始到在浏览器中显示报表为止。这一过程可在web浏览器未被关闭时完成。 Stimulsoft Reports.Web是第一款可以让您直接在Web中编辑报表的报表工具。在您...
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 确定业务...
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.在线压缩及备份数据库功能...
需要把html页面中表格导出到excel的; 5. 需要在html页面中套打票据、报表的; 6. 需要在html页面中显示复杂报表,并要求精确打印预览及打印的; 7. 需要动态生成中国式复杂格式报表的; 8. 需要在html页面中输入...
新星在线综合考试系统是一套集网上考试、测试练习的软件,它的考试和测试练习模块采用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表导出数据,并可以打印出历史数据列表。 入库管理:(包括新增、入库单查询、 入库货品查询)对入库货品进行审批,也可以建立直接入库单,对入库货品进行查询...
Easy-Web-Test 基于playwright的一个WEB自动化测试工具 目前功能还在不断迭代,欢迎PR以及反馈问题、建议 home dark report 特性和亮点 用例管理 并发执行 定时执行 用例执行报告 服务端部署 多平台客户端支持 ...
3、采用WebAPI,客户端完全摆脱了代理和管道来直接进行交互 4、采用EasyUI前台UI界面插件,可轻松的打造出功能丰富并且美观的UI界面 5、采用Knockout,,提供了一个数据模型与用户UI界面进行关联的高层次方式(采用...