- 浏览: 224968 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (244)
- java (23)
- java多线程 (7)
- 综合 (1)
- oracle10g (24)
- div+css (1)
- Flex (27)
- java Nio (1)
- java设计模式 (8)
- struts2 (10)
- spring3.0 (5)
- SSH (9)
- dwr (5)
- hibernate3.6 (17)
- dom4j (1)
- sql优化 (5)
- Quartz任务调度框架 (1)
- AOP (3)
- JavaScript (18)
- jquery (3)
- JSF (9)
- ruby (1)
- 正则表达式 (1)
- 明日准备 (2)
- eclipse (3)
- gvim (1)
- CMS (1)
- linux (6)
- 杂 (4)
- java 设计模式 (1)
- MySql (10)
- JBPM (4)
- JSP技术 (1)
- Mybatis And Ibatis (2)
- 经验之谈 (10)
- WebService (1)
- java分布式(高性能,高可用,可伸缩) (0)
- springMvc (2)
- redis (0)
- ant (1)
- Nutz (6)
- 配置管理 (0)
- css+div (1)
- eChars (1)
- angularJs (1)
- D3 (3)
- Scala (1)
最新评论
-
Cobain_LI:
Cobain_LI 写道学习了,之前一直都没注意到有这样的问题 ...
js面向对象3--更简单的原型模式已经带来的问题以及解决办法 -
Cobain_LI:
Cobain_LI 写道学习了,之前一直都没注意到有这样的问题 ...
js面向对象3--更简单的原型模式已经带来的问题以及解决办法 -
Cobain_LI:
有个小失误,144和147行多了两个花括号
js面向对象2--js中工厂模式的演化(重要,详细) -
Cobain_LI:
学习了,之前一直都没注意到有这样的问题
js面向对象3--更简单的原型模式已经带来的问题以及解决办法 -
YTT1121:
有网络拓扑发现的源代码么,或者您会编写么?可以有偿求购,搞科研 ...
flex 之twaver1--简单网络拓扑实现
注:原创作品,分享以供交流,转载请注明出处。
本博文需要引入jxl.jar文件
工具类:
本博文需要引入jxl.jar文件
/* * 功能:生成excel文件 * date:20140502 * @Author: chenchaoyang */ public ActionForward ZfSaleDataToExcel(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException, Exception { HttpSession session = request.getSession(false); Authorities auth = SessionUtil.getUserAuth(request); int marketid = PublicUseDB.getMarketID(session); int userid = PublicUseDB.getUserName(session, auth); if (marketid == -1 || userid == -1 || auth == null) { return new ActionForward("/home.do", true); } String begindate = (String) request.getParameter("begindate"); // 开始日期 String enddate = (String) request.getParameter("enddate"); // 结束日期 ArrayList colnmoney = SaleDB.getAllZfSaleDan(begindate, enddate); // 从作废结算表中得到作废结算信息(ty_trademoney_zf); ExcelUtil excelUtil = new ExcelUtil(); // 把数据生成Excel表格 WritableCellFormat wc = excelUtil.getWc(); // 得到Excel表格所需要的三种单元格格式 WritableCellFormat wc1 = excelUtil.getWc1(); WritableCellFormat wc2 = excelUtil.getWc2(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String currentDate = sdf.format(new Date()); String fileName = "作废单表格" + currentDate; fileName = fileName + ".xls"; OutputStream os = response.getOutputStream(); // 获得响应客户的输出流: WritableWorkbook wwb = excelUtil.getWorkBook(os); WritableSheet sheet = wwb.createSheet("作废单表格", 1); excelUtil.chengpiMergeCells(sheet, 0, 6, 0, 1); sheet.mergeCells(7, 0, 9, 0); excelUtil.chengpiMergeCells(sheet, 10, 11, 0, 1); sheet.mergeCells(12, 0, 13, 0); for (int L = 1; L <= 9; L++) // 调整列宽 { sheet.setColumnView(L, 12); } for (int L1 = 10; L1 <= 13; L1++) // 调整列宽 { sheet.setColumnView(L1, 14); } sheet.addCell(excelUtil.getLabel(0, 0, "品种", wc)); sheet.addCell(excelUtil.getLabel(1, 0, "序号", wc)); sheet.addCell(excelUtil.getLabel(2, 0, "毛重", wc)); sheet.addCell(excelUtil.getLabel(3, 0, "去皮", wc)); sheet.addCell(excelUtil.getLabel(4, 0, "净重", wc)); sheet.addCell(excelUtil.getLabel(5, 0, "单价", wc)); sheet.addCell(excelUtil.getLabel(6, 0, "小计", wc)); sheet.addCell(excelUtil.getLabel(7, 0, "交易服务费", wc)); sheet.addCell(excelUtil.getLabel(7, 1, "买方", wc)); sheet.addCell(excelUtil.getLabel(8, 1, "卖方", wc)); sheet.addCell(excelUtil.getLabel(9, 1, "利润", wc)); sheet.addCell(excelUtil.getLabel(10, 0, "买方", wc)); sheet.addCell(excelUtil.getLabel(11, 0, "卖方", wc)); sheet.addCell(excelUtil.getLabel(12, 0, "刷卡", wc)); sheet.addCell(excelUtil.getLabel(12, 1, "买方", wc)); sheet.addCell(excelUtil.getLabel(13, 1, "卖方", wc)); int sum = 2; // 控制表格的行 for (int i = 0; i < colnmoney.size(); i++) { Ty_trademoney_zf colnm = (Ty_trademoney_zf) colnmoney.get(i); String billNo = colnm.getT_billno(); ArrayList temp = (ArrayList) SaleTools .getZfSaledatabyBillno(billNo); sheet.mergeCells(1, sum, 9, sum); sheet.mergeCells(7, sum + 1, 7, sum + temp.size()); sheet.mergeCells(8, sum + 1, 8, sum + temp.size()); sheet.mergeCells(9, sum + 1, 9, sum + temp.size()); sheet.mergeCells(10, sum + 1, 10, sum + temp.size()); sheet.mergeCells(11, sum + 1, 11, sum + temp.size()); sheet.mergeCells(12, sum + 1, 12, sum + temp.size()); sheet.mergeCells(13, sum + 1, 13, sum + temp.size()); sheet.mergeCells(10, sum, 13, sum); String diyi = "交易号:" + colnm.getT_billno() + " 货物总金额:" + SaleTools.getFormattedNumeric(colnm.getT_totalmoney()) + " 买方卡号:" + colnm.getMbuyersn() + "司磅员:" + colnm.getUcode() + "交易时间:" + colnm.getT_sucessid(); String dier = "作废时间:" + colnm.getZf_time() + "作废人:" + SeaFoodTools.getUserName(colnm.getZf_user()); String xuhao = "序号"; String xuhaozhi = "11"; sheet.addCell(excelUtil.getLabel(0, sum, String.valueOf(i + 1), wc1)); sheet.addCell(excelUtil.getLabel(1, sum, diyi, wc1)); sheet.addCell(excelUtil.getLabel(10, sum, dier, wc1)); sum = sum + 1; // 控制整个表格的行 for (int j = 0; j < temp.size(); j++) { Ty_tradedatas data = (Ty_tradedatas) temp.get(j); int lie = 0; sheet.addCell(excelUtil.getLabel(lie, sum, String .valueOf(SeaFoodTools.getYtProduct(data.getPsn())), wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, String.valueOf(j + 1), wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, String.valueOf(data.getT_weightgross()), wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, String.valueOf(data.getT_weighttare()), wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, String.valueOf(data.getT_jweight()), wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, String.valueOf(data.getT_price()), wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, String.valueOf(data.getT_subtotal()), wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, String.valueOf(colnm.getT_buyerfee()), wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, String.valueOf(colnm.getT_sellerfee()), wc2)); lie++; sheet.addCell(excelUtil.getLabel( lie, sum, String.valueOf(colnm.getT_sellerfee() + colnm.getT_buyerfee()), wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, String .valueOf(SaleDB.getCustomerName(colnm.getMbuyercode()) + "(" + colnm.getMbuyercode() + ")"), wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, String .valueOf(SaleDB.getCustomerName(colnm.getMsellercode()) + "(" + colnm.getMsellercode() + ")"), wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, SaleDB.getCustomerName(colnm.getMbuyerpushcode()) + "(" + colnm.getMbuyerpushcode() + ")", wc2)); lie++; sheet.addCell(excelUtil.getLabel(lie, sum, SaleDB.getCustomerName(colnm.getMsellerpushcode()) + "(" + colnm.getMsellerpushcode() + ")", wc2)); sum = sum + 1; lie++; } } excelUtil.print(response, wwb, fileName); return null; }
工具类:
package bill.seafood.tools; import java.io.OutputStream; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WritableCellFormat; import jxl.format.Alignment; import jxl.format.Border; import jxl.format.BorderLineStyle; import jxl.write.WritableFont; import jxl.format.VerticalAlignment; import javax.servlet.http.HttpServletResponse; public class ExcelUtil { /* * 功能:生成excel文件 */ public WritableWorkbook getWorkBook(OutputStream os) throws Exception { WritableWorkbook wwb = Workbook.createWorkbook(os); return wwb; } /* * 生成excel文件的sheet表 */ public void setSheetTitle(String[] sheetTitle,WritableSheet sheet) throws Exception { WritableCellFormat wc = new WritableCellFormat(); wc.setAlignment(Alignment.CENTRE); // 设置居中 wc.setBorder(Border.ALL, BorderLineStyle.THIN); // 设置边框线 wc.setBackground(jxl.format.Colour.GRAY_25); // 设置单元格的背景颜色 wc.setVerticalAlignment(VerticalAlignment.CENTRE); jxl.write.WritableFont wfont = new jxl.write.WritableFont(WritableFont.createFont("隶书"),14); // 设置字体 wc.setFont(wfont); Label label; for(int i=0;i<sheetTitle.length;i++){ label = new Label(i,0,sheetTitle[i],wc); sheet.addCell(label); } } /* * 创建表中的数字的显示形式 */ public WritableCellFormat getNumberFormat(String format) { jxl.write.NumberFormat nf = new jxl.write.NumberFormat(format); jxl.write.WritableCellFormat wcf = new jxl.write.WritableCellFormat(nf); return wcf; } /* * 创建带格式的字符型单元格 */ public Label getLabel(int l,int h,String name,WritableCellFormat wc) { if(wc != null) { return new Label(l,h,name,wc); } else { return new Label(l,h,name); } } /* * 创建带四舍五入的数字型单元格 */ public jxl.write.Number getNumber(int l,int h,double number,String foramt) { jxl.write.Number number1 = new jxl.write.Number(l,h,number,getNumberFormat(foramt)); return number1; } /* * 创建bool类型的单元格 */ public jxl.write.Boolean getBool(int l,int h,boolean boole) { jxl.write.Boolean bool = new jxl.write.Boolean(l,h,boole); return bool; } public void chengpiMergeCells(WritableSheet sheet,int l1,int l2,int h1,int h2)throws Exception { for(int i = l1 ; i <= l2; i ++) { sheet.mergeCells(i, h1, i, h2); } } public void print(HttpServletResponse response,WritableWorkbook wwb,String fileName) throws Exception { response.setContentType("application/x-xls;charset=gbk"); // 通知客户文件的MIME类型: response.setHeader("Content-Disposition", "attachment; filename=" + new String(fileName.getBytes("gb2312"), "iso8859-1")); wwb.write(); wwb.close(); } public WritableCellFormat getWc() throws Exception { jxl.write.WritableFont wfont = new jxl.write.WritableFont( WritableFont.createFont("隶书"), 14); // 设置字体 WritableCellFormat wc = new WritableCellFormat(); wc.setAlignment(Alignment.CENTRE); // 设置居中 wc.setVerticalAlignment(VerticalAlignment.CENTRE); wc.setBorder(Border.ALL, BorderLineStyle.THIN); // 设置边框线 wc.setBackground(jxl.format.Colour.GRAY_25); // 设置单元格的背景颜色 wc.setFont(wfont); return wc; } public WritableCellFormat getWc1() throws Exception { WritableCellFormat wc1 = new WritableCellFormat(); wc1.setAlignment(Alignment.CENTRE); // 设置居中 wc1.setVerticalAlignment(VerticalAlignment.CENTRE); wc1.setBorder(Border.ALL, BorderLineStyle.THIN); // 设置边框线 wc1.setBackground(jxl.format.Colour.LIGHT_GREEN); // 设置单元格的背景颜色 //wc1.setFont(wfont1); return wc1; } public WritableCellFormat getWc2() throws Exception { WritableCellFormat wc2 = new WritableCellFormat(); wc2.setAlignment(Alignment.CENTRE); // 设置居中 wc2.setVerticalAlignment(VerticalAlignment.CENTRE); wc2.setBorder(Border.ALL, BorderLineStyle.THIN); // 设置边框线 return wc2; } }
发表评论
-
浅谈java接口中定义属性
2015-03-11 22:55 7013package com.supan.reflact; p ... -
JMs 简单实例
2015-01-30 14:00 5461.前一讲简单的介绍了 ... -
java 泛型
2015-01-29 14:04 5971. 概述 在引入范型之前 ... -
配置jkstatus
2015-01-24 00:21 639在已配置完成的 apache 项目中 workers.pro ... -
apache+tomcat架设图片服务器
2015-01-23 22:15 1158apache + 2个tomcat分工指定: apac ... -
apache+tomcat实现负载均衡
2015-01-23 13:03 453所需材料: 1,apache_2.0.55-win32-x86 ... -
java web高并发解决方案
2015-01-23 01:28 885java处理高并发高负载类 ... -
java 实现简单及时通讯工具
2014-12-07 16:52 734客户端接受: package com.supan; i ... -
sql 语句优化
2014-12-03 23:50 490一: 尽量挑选自己需要的字段进行查询, 不要随便使用 s ... -
21312
2014-06-30 23:53 554http://supanccy2013.iteye.com/a ... -
java虚拟机工作机制
2014-05-02 23:33 930注:原创作品,分享以供交流学习,转载请注明出处。 Java虚 ... -
java算法之 递归
2014-05-01 22:41 831注:原创作品,分享以供交流学习,转载请注明出处。 递 ... -
HttpRequest.getSession(boolean boo)方法注意点
2014-05-01 01:04 2139getSession(boolean create) ... -
java 之 String的那些事儿
2014-04-17 00:05 567equals方法和==的区别 首先大家知道,String既 ... -
java 之递归便利文件夹中的文件
2014-04-16 00:34 833import java.io.File; public ... -
java 之this,super关键字
2014-04-16 00:29 456this关键字的三种用法: 第一、通过this ... -
java 之md5加密
2014-04-16 00:25 624package com.supan.md5; import ... -
java String变量判空 效率
2014-04-09 23:16 1462Java中的String为引用类型,我们经常遇到判空的情况,s ... -
java socket简单写了一个即时通讯工具(代码有待优化。)
2014-02-17 08:42 25161,服务端不断轮训创建socket链接,一旦链接成功,启动两个 ... -
StringBuffer、String、StringBuilder的区别
2014-01-23 21:54 477String,StringBuffer与StringBuild ...
相关推荐
本文将详细介绍如何使用JXL库结合Java网络编程技术来实现从指定URL下载Excel文件,并将其保存到本地指定目录的功能。此外,我们还将简单介绍如何使用JXL库读取下载的Excel文件的基本数据。 #### 关键技术点解析 ##...
根据提供的文件信息,我们可以总结并深入探讨以下几个与...以上是关于如何使用Java JXL库导出Excel文件的详细介绍,涵盖了从环境准备到具体实现步骤的全过程。希望这些知识点能够帮助您更好地理解和应用Java JXL库。
jxl是一个Java库,它允许开发者读取、写入和修改Excel文件,尤其在处理批量数据时非常方便。在这个示例中,我们将探讨如何使用jxl库来生成Excel文件。 首先,你需要在项目中引入jxl库。如果你使用的是Maven,可以在...
jxl库是早期广泛使用的Java操作Excel文件的API之一。本篇文章将详细介绍如何利用jxl库实现对Excel文件的基本操作,包括读取、写入等常见功能。 #### 二、jxl库简介 jxl是一个开源的Java API,用于读取和写入...
Java的JXL.jar库是Java开发人员用于读取和写入Microsoft Excel文件的重要工具。它提供了方便的API,使得在Java应用程序中处理Excel数据变得简单高效。JXL支持多种Excel功能,包括单元格格式化、公式计算、图表操作...
jxl库允许开发者在Java应用程序中创建、修改和读取Excel文件,而无需安装Microsoft Office。 #### 二、jxl创建下拉列表的原理 在Excel中,下拉列表是一种常用的数据验证方式,它可以限制用户在某个单元格内输入的...
3. JXL 库:JXL 库是指 Java Excel API,即 Java 语言对 Excel 文件的操作 API。 4. Workbook:Workbook 是指 Excel 文件对象,使用 `Workbook` 对象可以获取 Excel 文件的信息。 5. Sheet:Sheet 是指 Excel 文件的...
在Java编程环境中,将Excel文件(.xls或.xlsx格式)转换为CSV文件是一项常见的任务,特别是在数据处理和分析中。本文将深入探讨如何利用Java来完成这个过程,主要使用Apache POI库,这是一个广泛使用的开源库,专门...
本工具结合了Java IO操作和JXL库,实现了读取Excel文件并进行数据处理的功能,主要应用于国际化键值的替换。 首先,Java IO操作包括了基本的文件操作,如创建、读取、写入和删除文件。在Java中,我们通常使用`File`...
2. **JXL库**:JXL是一个开源的Java Excel API,能够读取、写入和修改Excel文件(.xls格式)。它支持多种操作,如创建新的工作簿、添加工作表、设置单元格格式、公式计算等。 3. **文件I/O操作**:Android应用需要...
Jxl是Java Excel API的简称,它是一个轻量级的库,专门用于读取和写入Excel文件。Jxl支持.xls格式,但不支持.xlsx格式。使用Jxl读取Excel文件的基本步骤如下: 1. 引入Jxl库:在项目中添加jxl.jar依赖。 2. 创建...
JXL则是一个Java库,专门用来处理Excel文件,无论是读取还是写入,它都提供了方便的API。 在"Struts2+JXL 下载 Excel 文档"的场景中,开发者通常会创建一个Action,这个Action负责生成Excel文档并提供下载。用户...
Java Excel API,通常简称为JXL,是一种专为Java开发者设计的开源库,用于操作Microsoft Excel文件。这个库提供了一组API,使得开发者能够在Java应用程序中创建、读取、更新Excel电子表格。JXL的优势在于它完全用...
读的时候是这样的一个思路,先用一个输入流(InputStream)得到Excel文件,然后用jxl中的Workbook得到工作薄,用Sheet从工作薄中得到工作表,用Cell得到工作表中得某个单元格。 InputStream->Workbook->Sheet->Cell,就...
在Java编程环境中,处理Excel文件是一项常见的任务,而JXL库正是为此目的设计的。JXL是一个开源的Java库,允许开发者读取、写入和修改Excel文件(.xls格式)。这个库简单易用,提供了丰富的API,使得与Excel文件交互...
jxl是一个开源的Java库,它提供了对Microsoft Excel文件格式的支持,使得在Java中操作Excel变得简单。 首先,你需要获取jxl的jar包。由于在搜索引擎上可能难以找到,你可以尝试在Maven中央仓库或者官方网站上下载。...
使用该JAR包,能够给EXCEL直接加密,弹出对话框,输入正确密码,才能进入 方法: View m_view = new View(); m_view.read(inputExcelFile.getAbsolutePath()); m_view.editCopyRight(); m_view.write(outputExcel...
### 利用JAVA操作EXCEL文件的关键知识点 #### 一、JAVA EXCEL API 简介 - **项目背景**:随着Web应用的发展,越来越多的应用场景需要通过Web端操作Excel文件,而传统的CSV文件虽然可以被Excel打开,但无法实现对...
`jxl`库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Microsoft Excel文件。本篇文章将深入探讨如何利用`jxl`库进行Excel文件的读写操作。 首先,我们需要理解`jxl`库的基本概念。`jxl`库是由JExcelAPI...