view类在Spring控制器配置文件中的配置
<!-- 配置Excel文件解析器 --> <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"> <!-- 配置优先级 假如存在一个excelView.jsp页面,如果这个页面的优先级大于Excel 视图类,则直接跳转到jsp页面,而不执行到处Excel文件操作 --> <property name="order" value="10"/> </bean> <bean id="excelView" class="com.lovo.view.UserListViewResolver"/> <bean id="pdfView" class="com.lovo.view.WordListPdfView"/>
导出Excel表格类
package com.lovo.view; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.web.servlet.view.document.AbstractExcelView; import com.lovo.entity.User; /** * 使用静态类AbstractExcelView生成excel文件 * @author tian */ public class UserListViewResolver extends AbstractExcelView { @Override protected void buildExcelDocument(Map<String, Object> map, HSSFWorkbook book, HttpServletRequest req, HttpServletResponse resp) throws Exception { resp.setContentType("application/vnd.ms-excel"); //由于Tomcat内部编码被改成了utf-8 因此需要将告诉浏览器的中文文件名再转回成iso-8859-1 // 浏览器才能够识别出该中文文件名 resp.setHeader("Content-Disposition", "inline;filename="+new String("用户列表".getBytes(), "iso-8859-1")); HSSFSheet sheet = book.createSheet("用户列表"); HSSFCell tempCell; tempCell = getCell(sheet, 0, 0); setText(tempCell, "用户名"); tempCell = getCell(sheet, 0, 1); setText(tempCell, "密码"); List<User> list = (List<User>) map.get("userList"); for(int i=0;i<list.size();++i){ tempCell = getCell(sheet, i+1, 0); setText(tempCell, list.get(i).getUsername()); tempCell = getCell(sheet, i+1, 1); setText(tempCell, list.get(i).getPassword()); } } }
导出PDF类
package com.lovo.view; import java.awt.Color; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.view.document.AbstractPdfView; import com.lowagie.text.Document; import com.lowagie.text.Font; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfWriter; public class WordListPdfView extends AbstractPdfView { @Override protected void buildPdfDocument(Map<String, Object> map, Document doc, PdfWriter pw, HttpServletRequest req, HttpServletResponse resp) throws Exception { resp.setHeader("Content-Disposition", "inline;filename="+new String("用户列表".getBytes(), "iso-8859-1")); resp.setContentType("application/pdf"); List<String> words = (List<String>) map.get("words"); BaseFont bfont = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false); Font font = new Font(bfont, 14, Font.BOLD, Color.BLUE); for(int i=0,len=words.size();i<len;++i){ doc.add(new Paragraph(words.get(i), font)); } } }
控制器中,如何实现导出功能
/** * 使用AbstractExcelView生成Excel文件 * 为什么返回excelView后就能跳转到UserListViewResolver??? * @param map * @return */ @RequestMapping("/getExcel") public String getExcel(ModelMap map){ List<User> list = new ArrayList<>(); User u1 = new User("jack", "123"); User u2 = new User("bob", "234"); User u3 = new User("marry", "567"); list.add(u1); list.add(u2); list.add(u3); map.addAttribute("userList", list); return "excelView"; } @RequestMapping("/getPdf") public String getPdf(ModelMap map){ List<String> words = new ArrayList<>(); words.add("shit!"); words.add("fuck!"); words.add("foolish!"); map.addAttribute("words", words); return "pdfView"; }
相关推荐
本篇将深入探讨如何使用 Java 库 `easypoi` 和 `Spire.XLS.Free` 实现 Excel 的导出及将其转化为 PDF 文件的过程。 首先,`easypoi` 是一个基于 Apache POI 的 Java 框架,专门用于处理 Office 文档,包括 Excel。...
首先,我们将要讲述的是easypoi这一Java库在处理Excel表格导入导出功能的应用。在Java开发中,对于数据的导入导出,尤其是Excel表格,是一种非常常见的需求。而easypoi为我们提供了简洁的方式来实现这一功能。 ### ...
其中,转换PDF文件到excel表格是最常见的一种需求。那么,如何将PDF转换成excel表格呢? 在本文中,我们将介绍如何使用迅捷PDF转换器将PDF文件转换成excel表格。迅捷PDF转换器是一个功能强大且易于使用的PDF转换...
标题中的“jQuery导出excel表格文件pdf文件CSV文件代码”是指使用jQuery库来实现将数据导出为Excel、PDF和CSV格式的功能。这种技术在Web应用中非常常见,特别是那些需要用户下载或保存数据的场景。jQuery是一个轻量...
总结来说,C#通过不同的库和API提供了解决方案来导出Excel和PDF文件。这不仅增强了应用程序的功能,也提高了用户的数据管理和分享能力。在项目开发中,理解并熟练运用这些技术对于提升用户体验和增强系统功能具有...
在Java编程环境中,将Excel文件转换为PDF文件是一项常见的任务,尤其在数据报告或文档格式转换的场景下。本文将详细介绍如何使用Apache POI库处理Excel数据,以及使用iText库将这些数据导出为PDF格式。Apache POI是...
首先,我们需要将表格内容转换为纯文本或者SVG,然后用`jsPDF`的API创建PDF文件: ```javascript var pdf = new jsPDF('p', 'mm', 'a4'); pdf.autoTable({html: '#table_id'}); pdf.save('export.pdf'); ``` 至于...
openpyxl库允许我们设置单元格样式、公式和其他高级特性,以保持与原始Excel表格的一致性。 6. **注意事项**: - PDF中的表格可能有各种格式,可能需要调整解析策略以适应不同的布局。 - 如果表格包含复杂格式...
首先,你需要将Excel文件读取为一个工作簿对象,然后利用PDF生成器,将每个工作表转换为PDF页面。Easy POI的`EasyExcel.read(fileName).sheet().doRead()`方法可以读取Excel,再通过第三方库的API将数据转换成PDF...
二、Excel文件导出 对于Excel文件,Java中最常用的库是Apache POI。POI提供了HSSF(针对旧版的Microsoft Excel .xls格式)和XSSF(针对较新的.xlsx格式)接口。通过这些接口,你可以创建工作簿、工作表,然后添加...
总结来说,掌握复杂多表头Excel表格的创建和导出技巧,能有效提高数据管理和分析的效率。无论是手动操作还是编程实现,理解并熟练运用这些方法,都将极大地提升你在处理数据时的灵活性和适应性。在实际工作中,根据...
然而,有时在进行这样的转换时,可能会遇到一个常见问题:导出的PDF文件与原始Excel文件的格式不一致。这可能是由于Excel中的复杂格式、公式或者特定的排版设置在PDF中无法完全保留导致的。本资源提供了一个解决方案...
导出Excel表格则是将Excel中的数据保存为其他格式,如CSV、TXT、XML、PDF等,或者将整个工作簿保存为新的Excel文件。在Excel中,导出操作可以通过“文件”菜单的“另存为”功能实现,选择目标格式并设置保存路径即可...
Javascript导出excel为xlsx格式,兼容IE6+和主流浏览器,下载下来直接可以使用。 其他javascript导出excel插件可看作者文章:https://blog.csdn.net/qq_21693027/article/details/80459677
TIA博途V17中DB块如何导出成源文件或XML文件或EXCEL中? 博途中导出DB块的3种方法介绍。
这个过程中可能涉及到对Excel表格的样式、字体、颜色等元素的保持,以确保转换后的PDF文件与原Excel文件视觉上一致。 **PDF加水印**是另一个关键步骤,用于在PDF文档上添加不可擦除的信息,如日期、公司标志或"机密...
创建一个WebApi接口,让用户能够通过HTTP请求获取转换后的PDF文件: ```csharp [HttpGet] [Route("api/DownloadPdf")] public HttpResponseMessage DownloadPdf() { var excelFilePath = "path_to_your_...
使用ITEXT,你可以方便地生成包含文本、图像、表格等复杂内容的PDF文件。例如,要创建一个简单的PDF,你需要创建一个`Document`对象,然后使用`PdfWriter`将其与输出流关联。接着,通过`Paragraph`、`Font`等类添加...
帆软报表的PDF导出功能允许用户将报表转换为高质量的PDF文件,便于打印、分发和长期保存。PDF导出过程中,帆软会处理报表的字体、图像和页面设置,确保在任何设备上都能准确呈现。 在压缩包中的"帆软报表导出各种...