- 浏览: 43954 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
dl96200:
辛苦了。。感谢感谢 啊
dom读取xml与写入xml -
kaven1989:
太好了,楼主辛苦了
dom读取xml与写入xml -
osacar:
效果如何?性能?
java 生成缩略图
jxl是一个java操作excel的工具, 在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。 另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。
此代码在工厂框架中应用有些地方不是用详细
jsp中的代码
struts中的代码
此代码在工厂框架中应用有些地方不是用详细
jsp中的代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ include file="/commons/taglibs.jsp"%> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="../styles/default.css" /> <link rel="stylesheet" type="text/css" href="../styles/main.css" /> <%@ include file="/commons/meta.jsp"%> <script type="text/javascript"> function onloadXls(){ alert("start onload..."); document.URL="xls.do?action=onloadXls"; } function onloadPdf(){ alert("start onload..."); document.URL="xls.do?action=onloadPdf"; } </script> </head> <body> <div class="pageTitle"> xls下载 </div> <div class="list"> <div class="listTopOperation"> <div class="select"> <div id="_list_IUD" class="IUD"> <button onclick="onloadXls()"> 下载xls </button> <button onclick="onloadPdf()"> 下载pdf </button> </div> </div> <table id="mytable" border="0" cellspacing="1" cellpadding="0" width="100%"> <thead> <tr> <th width="30px;"> 选择 </th> <th> 编号 </th> <th> 名称 </th> <th> 价格 </th> <th> 备注 </th> </tr> </thead> <tbody id="_list_Tbody"> <c:forEach var="c" items="${requestScope.com}"> <tr selected="false" keyName="num" keyValue="${c.id}"> <td> <input name="checkedlist" type="radio" value="${c.id}"> </td> <td> ${c.id} </td> <td> ${c.productName } </td> <td> ${c.productPrice } </td> <td> ${c.productRemark } </td> </tr> </c:forEach> </tbody> </table> <div> </div> </body> </html>
struts中的代码
package com.newer.business.xls.web.action; import java.awt.Color; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import jxl.Workbook; import jxl.format.UnderlineStyle; import jxl.write.Colour; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.lowagie.text.Cell; import com.lowagie.text.Chapter; import com.lowagie.text.Document; import com.lowagie.text.Element; import com.lowagie.text.Font; import com.lowagie.text.Paragraph; import com.lowagie.text.Section; import com.lowagie.text.Table; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfWriter; import com.newer.business.commodity.manager.CommodityManager; import com.newer.business.pojo.Commodity; import com.newer.core.web.StrutsAction; public class XlsAction extends StrutsAction { private CommodityManager com; public void setCom(CommodityManager com) { this.com = com; } //进入主页显示所有商品信息 public ActionForward xlsIndex(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { request.setAttribute("com",com.getAll()); return mapping.findForward("index"); } /*****************************************xls下载————开始***************************************************/ // 开始下载xls public ActionForward onloadXls(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { System.out.println("start onload................xls"); //调用弹出框 response(request,response,getXlsFile(request)); return null; } // 获得xls文件向xls文件中添加数据 @SuppressWarnings("deprecation") private File getXlsFile(HttpServletRequest request) { //xls文件存放路径 项目中的pdfOrxls文件夹中 String pathName=request.getRealPath("/")+"pdfOrxls/文件xls.xls"; File file = new File(pathName); try { if (!file.exists()) { file.createNewFile(); } // 打开文件 WritableWorkbook book = Workbook.createWorkbook(file); // 生成名为“第一页”的工作表,参数0表示这是第一页 WritableSheet sheet = book.createSheet(" 第一页", 0); //设置大标题样式 WritableFont title = new WritableFont(WritableFont.TIMES, 16 ,WritableFont.BOLD,false, UnderlineStyle.NO_UNDERLINE, Colour.RED); WritableCellFormat format1 = new WritableCellFormat(title); //把水平对齐方式指定为居中 format1.setAlignment(jxl.format.Alignment.CENTRE); //合并第一列第一行到第三列第一行的所有单元格 sheet.mergeCells(0,0,3,0); sheet.addCell(new Label(0,0,"商品信息",format1)); //设置小标题样式 WritableFont font= new WritableFont(WritableFont.TIMES, 10 ,WritableFont.BOLD,false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK); format1 = new WritableCellFormat(font); format1.setBackground(Colour.CORAL); // 把垂直对齐方式指定为居中 format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); //给xls文件添加标题 sheet.addCell(new Label(0,1,"商品ID",format1)); sheet.addCell(new Label(1,1,"商品名称",format1)); sheet.addCell(new Label(2,1,"商品价格",format1)); sheet.addCell(new Label(3,1,"商品备注",format1)); //设置内容样式 WritableFont context= new WritableFont(WritableFont.TIMES, 10 ,WritableFont.NO_BOLD,false, UnderlineStyle.NO_UNDERLINE, Colour.GRAY_25); format1 = new WritableCellFormat(context); // 把垂直对齐方式指定为居中 format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); //获得商品信息集合 List<Commodity> list=com.getAll(); //给xls文件添加内容 for(int i=0;i<list.size();i++){ Commodity c=list.get(i); jxl.write.Number id = new jxl.write.Number(0,i+2,c.getId(),format1); sheet.addCell(id); Label name = new Label(1, i+2,c.getProductName(),format1); sheet.addCell(name); jxl.write.Number price = new jxl.write.Number(2,i+2,c.getProductPrice(),format1); sheet.addCell(price); Label remark= new Label(3, i+2,c.getProductRemark(),format1); sheet.addCell(remark); } // 写入数据并关闭文件 book.write(); book.close(); } catch (Exception e) { System.out.println(e); } return file; } /*****************************************xls下载————结束***************************************************/ /*****************************************pdf下载————开始***************************************************/ // 开始下载pdf public ActionForward onloadPdf(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { System.out.println("start onload................pdf"); //调用弹出框 response(request,response,getPdfFile(request)); return null; } // 获得pdf文件向pdf文件中添加数据 @SuppressWarnings("deprecation") private File getPdfFile(HttpServletRequest request){ // 创建一个Document对象 Document document = new Document(); File file=null; try { //pdf文件存放路径 项目中的pdfOrxls文件夹中 String pathName=request.getRealPath("/")+"pdfOrxls/文件pdf.pdf"; file=new File(pathName); // 生成名为文件pdf.pdf 的文档 PdfWriter.getInstance(document, new FileOutputStream(pathName)); // 添加PDF文档的一些信息 document.addTitle("Hello World example"); document.addAuthor("Bruno Lowagie"); document.addSubject("This example explains how to add metadata."); document.addKeywords("iText, Hello World, step 3, metadata"); document.addCreator("My program using iText"); // 打开文档,将要写入内容 document.open(); //显示中文必须设置中文字体 BaseFont bfChinese = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false); Font toptitle = new Font(bfChinese, 16, Font.BOLD, Color.red); Font title = new Font(bfChinese, 10, Font.BOLD, Color.ORANGE); Font font = new Font(bfChinese, 8, Font.COURIER, Color.GRAY); //设置段落标题并设置字体 Paragraph chapterTitle = new Paragraph("商品信息",toptitle); //创建了一个章节的对象,标题为"Chapter 1" Chapter chapter1 = new Chapter(chapterTitle,1); //设置为0,则在标题前面没有编号.反之... chapter1.setNumberDepth(0); //创建章节下的子章节. Paragraph sectionTitle = new Paragraph("Version No 1.1", toptitle); //添加对象,属于chapter1。 Section section1 = chapter1.addSection(sectionTitle); //写文本内容 Paragraph text = new Paragraph("创建人:admin",title); section1.add(text); text = new Paragraph("创建时间:"+new Date(),title); section1.add(text); //创建表格对象 Table table = new Table(4); //设置表格边框颜色 table.setBorderColor(new Color(220, 255, 100)); //边距 table.setPadding(1); //间距 table.setSpacing(1); table.setBorderWidth(1); //整个表居中 table.setAlignment(1); //单元格对象 Cell cell = null; //添加表头信息 cell= new Cell (new Paragraph ("商品信息",toptitle)); cell.setHeader(true); cell.setColspan(4); //内容居中对齐 cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); table.endHeaders(); //添加表标题 cell= new Cell (new Paragraph("商品ID",title)); cell.setBackgroundColor(Color.GRAY); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); cell= new Cell (new Paragraph("商品名称",title)); cell.setBackgroundColor(Color.GRAY); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); cell= new Cell (new Paragraph("商品价格",title)); cell.setBackgroundColor(Color.GRAY); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); cell= new Cell (new Paragraph("商品备注",title)); cell.setBackgroundColor(Color.GRAY); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); //添加表的内容 //获得商品信息集合 List<Commodity> list=com.getAll(); //给pdf文件添加内容 for(int i=0;i<list.size();i++){ Commodity c=list.get(i); table.addCell(new Paragraph(c.getId()+"",font)); table.addCell(new Paragraph(c.getProductName(),font)); table.addCell(new Paragraph(c.getProductPrice()+"",font)); table.addCell(new Paragraph(c.getProductRemark(),font)); } //将表格对象添加到对象中 section1.add(table); document.add(section1); } catch (Exception de) { System.err.println(de.getMessage()); } finally{ // 关闭打开的文档 document.close(); } return file; } /*****************************************pdf下载————结束***************************************************/ /***************************************下载弹出框—————开始***********************************************/ //弹出对话框下载 private void response(HttpServletRequest request, HttpServletResponse response,File file){ BufferedInputStream bis = null; BufferedOutputStream bos = null; OutputStream fos = null; InputStream fis = null; try{ //获得处理过的xls文件或pdf文件 file File uploadFile =file; fis = new FileInputStream(uploadFile); bis = new BufferedInputStream(fis); fos = response.getOutputStream(); bos = new BufferedOutputStream(fos); // 这个就就是弹出下载对话框的关键代码 response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(uploadFile.getName(), "utf-8")); int bytesRead = 0; // 这个地方的同上传的一样。我就不多说了,都是用输入流进行先读,然后用输出流去写,唯一不同的是我用的是缓冲输入输出流 byte[] buffer = new byte[8192]; while ((bytesRead = bis.read(buffer, 0, 8192)) != -1) { bos.write(buffer, 0, bytesRead); } }catch(Exception e){ e.printStackTrace(); } finally{ try{ bos.flush(); fis.close(); bis.close(); fos.close(); bos.close(); }catch(Exception e){ //e.printStackTrace(); System.out.println("下载弹出框出错了..................."); } } } /***************************************下载弹出框—————结束***********************************************/ }
- poi-contrib-3.0.1-FINAL-20070705.jar (58 KB)
- 描述: 操作xls的包
- 下载次数: 6
- poi-3.0.1-FINAL-20070705.jar (888 KB)
- 描述: 操作xls的包
- 下载次数: 4
- poi-scratchpad-3.0.1-FINAL-20070705.jar (839.5 KB)
- 描述: 操作xls的包
- 下载次数: 4
- iTextAsian.jar (322 KB)
- 描述: 操作pdf的语言包
- 下载次数: 5
- iText-2.1.7.jar (1.1 MB)
- 描述: 操作pdf的包
- 下载次数: 4
- iText-src-2.1.7.zip (2 MB)
- 描述: pdf源码包
- 下载次数: 4
相关推荐
java实现浏览器在线预览offic(doc、xls、ppt)和pdf文件,本人将例子集成到项目中,已成功。 技术原理:将文件先转换成pdf文件,再将pdf文件转换成swf文件,最后显示在浏览器上。 资源描述:本资源包括swftools...
在Java编程环境中,处理Excel(通常指.xls格式,属于老版的Microsoft Excel 97-2003工作簿)文件是一项常见的任务,这主要涉及到读取、创建和修改Excel数据。以下是一些关于如何使用Java进行这些操作的关键知识点: ...
在Java编程环境中,生成XLS文件(Excel 97-2003格式)是一项常见的任务,特别是在数据处理、报表生成或数据导出时。...总的来说,Apache POI库提供了一套强大的工具,使得在Java中生成和操作XLS文件变得相当方便。
Struts1是一个经典的Java Web开发框架,而Apache POI是一个流行的API,用于处理Microsoft Office格式的文件,包括Excel。在本项目中,"struts1 poi Excel批量导入支持xls和xlsx"是一个基于Struts1和POI实现的功能,...
下面我们将深入探讨如何在Struts2框架下实现文件下载的实例。 首先,我们需要在项目的Web应用目录结构中创建相应的文件存储位置。在描述中提到的路径"D:\apache\Tomcat 6.0\webapps\Filedownload"下创建一个名为...
本篇将详细讲解如何使用Java进行xls文件的操作,并提供相关的代码实例。 首先,Java处理xls文件主要依赖于Apache POI库,这是一个强大的API,专门用于读写Microsoft Office格式的文件,包括Excel。要开始使用,你...
需要注意的是,这个例子假设你的.xls文件位于与Java程序相同的目录下,或者你需要提供文件的完整路径。在实际应用中,你可能需要从用户输入、配置文件或网络位置获取文件路径。 总的来说,Apache POI库使得在Java中...
在Java编程环境中,解析XLS(Excel)文件是一项常见的任务,尤其在数据处理、报表生成或数据分析等场景中。XLS文件是Microsoft Excel早期版本(97-2003)使用的二进制文件格式,包含表格数据和样式信息。在Java中,...
Java操作xls或者xlsx(任何office版本都支持!),使用起来非常的方便,就是一个类,需要下载对应的jar包,jar包是 <groupId>org.apache.poi <artifactId>poi <version>3.13-beta1 <groupId>org.apache.poi ...
总的来说,Spring MVC提供了处理文件上传和下载的强大支持,结合Java内置的压缩功能,我们可以轻松地实现文件上传、下载和压缩功能。在实际项目中,需要注意文件安全、性能优化以及异常处理等问题,以确保服务的稳定...
本篇文章将深入探讨如何使用Java技术栈,特别是Apache POI和iTextPDF库,来实现doc、xls(包括旧版的Excel 2003和新版本的Excel 2007+)以及txt、图片等多种格式的文件转换为PDF,并且实现在线浏览的功能。...
txt,word xls转pdf转换pdf用到外部工具OpenOffice pdf转换swf 用到外部工具swftools 我对这个俩个工具进行了代码调用,执行引用jar,变可以调用。 文件转换pdf的时候需要jar包 下载地址:...
在Java中,我们可以使用Apache POI库来操作Microsoft Office格式的文件,包括XLS。Apache POI提供了HSSF和XSSF两个API,分别用于处理老版本的BIFF8格式(.xls)和新版本的XML格式(.xlsx)。如果只需要支持旧版Excel...
在Java编程中,处理Excel文件是一项常见的任务,尤其在数据导入导出、报表生成等场景中。这个示例中展示了如何使用JXL库来读取和写入.xls格式的Excel文件。JXL是一个开源的Java库,它提供了读写Excel文件的能力。 1...
Spire.XLS forJava 13无限制,功能强大的excel处理jar包,已测试,完美解决(部分小问题已提供解决方案),使用前先将jar包按照maven坐标路径放到本地仓库,不然maven会找不到jar
Free Spire.XLS for Java是一款专门针对Java平台的开源Excel处理类库,它允许开发者在Java应用程序中创建、读取、修改和导出Excel文件。这个版本为2.2.0,提供了丰富的功能和易用的API,使得与Excel文件交互变得更加...
以下将详细讲解如何在Java中处理`xls`、`xlsx`和`csv`格式的文件。 首先,对于`xls`文件,这是Excel 2003及更早版本使用的文件格式,基于HSSF(Horrible Spreadsheet Format)库。Apache POI项目提供了一个强大的...
XLS与XLSX互相转换,在2003的EXCEL创造的表格在2007版本中打不开的情况下,这是一个利器。
该软件能够尽可能地保留原文档的格式和图像质量,使得转换后的DOC文件与原始PDF尽可能一致。 转换过程通常包括以下步骤: 1. 安装Solid Converter PDF 7.1:首先需要在计算机上安装这个软件,确保满足系统需求。 2....