我正在尝试生成一个Excel文档。 我正在使用Apache POI版本3.14 我的控制器: @RestController @RequestMapping("/excel") public class ExcelRest { @Autowired private ProfilDao profilDao; @RequestMapping(value = "/get", method = RequestMethod.GET) public ModelAndView getExcel(HttpServletRequest request, HttpServletResponse response) throws Exception{ response.setHeader("Content-disposition", "attachment; filename=testExcel.xls"); response.setContentType("application/vnd.ms-excel"); // I get a List of Profil. List<Profil> profils = profilDao.findAll(); return new ModelAndView(new ExcelProfilsBuilder(), "profils", profils); } } 我的模型视图: public class ExcelProfilsBuilder […]
我需要在我的控制器中创build一个动作来生成excel文件。 问题是,如果发生错误,页面被改变,但我想留在显示该错误的同一页面上。 我在我的控制器中有这个动作: @RequestMapping(value="/excel", method = RequestMethod.POST) public String generateExcel(HttpServletResponse response, Model model) 我想在错误的情况下留在同一页面上: if(noError){ // generate Excel response.setHeader("Content-disposition","attachment; filename= "excel.xls"); response.setContentType("application/vnd.ms-excel"); //… return ""; } else { // stay on the same page and show error // TODO return ?; } 我的Excel的一代工作正常,但出现错误时,显示新的页面。 我不能让ajax调用来生成excel。 有人能帮我吗?
我想写创build一个Excel并下载,但是当我添加图像我得到以下错误。 [(文件名,目录名或卷标语法不正确)] 但是,如果我打印出它的名字和path,它显示仪式的名称和path,文件被加载 文件名称:example.png位置文件:\ D:\ blueplustech \ plastocartreport \ target \ plastocartreport-0.0.1-SNAPSHOT.jar!\ BOOT-INF \ classes!\ static \ example.png 类: //FileInputStream obtains input bytes from the image file InputStream inputStream = new FileInputStream(getClass().getResource("/static/example.png").getFile()); //Get the contents of an InputStream as a byte[]. byte[] bytes = IOUtils.toByteArray(inputStream); //Adds a picture to the workbook int pictureIdx = workbook.addPicture(bytes, […]
我正在使用Apache POI将Excel函数写入单元格并评估函数。 我需要做的是从单元格中删除所有的小数点。目前,在每个单元格的值结尾不需要两个零。单元格的格式如下。 但最后总是得到两个零。 XSSFCellStyle cellStyle = cell.getCellStyle(); DataFormat df = workbook.createDataFormat(); cellStyle.setDataFormat(df.getFormat("###,##0")); cell.setCellStyle(cellStyle); if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) { evaluator.evaluateFormulaCell(cell); } 我已经提到下面的url和其他几个网站,并找不到修复这个错误的方法。 链接1 LINK2 注意我在Spring 4.3.1.RELEASE中使用Apache POI版本3.14。
目前,我的项目使用一个控制器类,并利用AbstractJExcelView类生成一个Excel报告,提示用户打开或保存Excel文件。 Basicall它使用http协议来调用控制器。 现在我需要做的是在(Spring)批处理作业中生成相同的Excel文件,并通过电子邮件直接作为附件发送。 我们使用org.springframework.mail.MailSender发送邮件。 我不应该使用任何其他的外部API,我不知道从哪里开始。 这是我们正在做的类似的代码: 调节器 public class RevenueReportController extends AbstractController{ @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { String output = ServletRequestUtils.getStringParameter(request, "output"); //dummy data Map<String,String> revenueData = new HashMap<String,String>(); revenueData.put("Jan-2010", "$100,000,000"); revenueData.put("Feb-2010", "$110,000,000"); revenueData.put("Mar-2010", "$130,000,000"); revenueData.put("Apr-2010", "$140,000,000"); revenueData.put("May-2010", "$200,000,000"); if(output ==null || "".equals(output)){ //return normal view return new ModelAndView("RevenueSummary","revenueData",revenueData); }else […]
我有一个Spring REST API上传Excel文件到服务器。我需要用spring和AsciiDoc编写一个API文档。 我试图按照以下方式编写文档,但在文档HTML中,它显示了来自Excel的编码字符。 final URL resource = MYClass.class.getResource("/excel/excel.xls"); final File file = new File(resource.toURI()); final FileInputStream fileInputStream = new FileInputStream(file); final MockMultipartFile fstmp = new MockMultipartFile("file", file.getName(), "multipart/form-data", fileInputStream); UriComponentsBuilder url= uri.path("/api/v1/uploadExcel") .queryParam("file", fstmp); document.snippets( requestParameters( parameterWithName("file").description("Excel file to upload") ) ); mockMvc.perform(MockMvcRequestBuilders.fileUpload(url.toUriString()).file(fstmp)).andExpect(status().isOk()); 此代码工作完善,但以下列方式生成文档。
我一直在Java 1.5上开发一个SpringSource 3.2项目。 这个项目的目的是在excel中parsing数据后,把excel文件输出到我们自己格式的另一个文件中。 在我的本地开发环境(一台i5,Windows 7机器)上运行时,进程运行得很好,结果如预期。 但是当我尝试在我们的SIT(这是一个旧的Windows Server 2003 SP2 x64)上运行它时,我得到以下exception: 2014-04-24 14:18:16:574 ERROR [main] – AbstractStep | Encountered an error executing the step java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlOptions at org.apache.poi.POIXMLDocumentPart.<clinit>(POIXMLDocumentPart.java:43) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:62) at com.hsbc.gbm.dml.batch.item.file.ExcelFileItemReader.doOpen(ExcelFileItemReader.java:118) at org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader.open(AbstractItemCountingItemStreamItemReader.java:134) at org.springframework.batch.item.file.MultiResourceItemReader.read(MultiResourceItemReader.java:105) at org.springframework.batch.core.step.item.SimpleChunkProvider.doRead(SimpleChunkProvider.java:90) at org.springframework.batch.core.step.item.SimpleChunkProvider.read(SimpleChunkProvider.java:148) at org.springframework.batch.core.step.item.SimpleChunkProvider$1.doInIteration(SimpleChunkProvider.java:108) at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:367) at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:214) . . . 有没有人有任何想法,为什么发生这种情况? 我们使用Maven&Spring来pipe理我们的依赖关系。
我是一个.NET开发人员,他必须在Java-ee Web应用程序中开发这个组件: 用户将select一个文件 这将是一个Excel文件或XML文件 组件应该检查文件是否具有预定义的结构。 只有某些types的文件需要validation。 因此,使用XSD来处理XML文档,并为Excel文件定义一些结构。 如果有任何列名称,大小,值范围,数据types不匹配,报告和中止。 然后根据一组validation规则validation文档。 为此,我正在考虑构build一个XML文件/ SQL表,它具有需要针对此文档运行的方法列表来validation它。 报告所有exception,从每个方法返回值。 当开发人员想到新的validation时,他们会为某个类添加一个方法,并在XML / SQL表中引用此方法,以便组件在运行时拾取它们。 这是一个很好的计划,还是使用Spring或者其他一些高级的J2EEfunction(我从来没有用过,但需要学习)呢? 谢谢。
我在Spring 3应用程序中有两个普通的jsp页面,一个是Excel视图。 Excel wiev甚至不会打开Microsoft Excel表格。 我认为这是一个解决问题的问题。 我做了views.properties: xl。(class)= fi.utu.seurantaraporttisuodatin.service.Raportti index.class = org.springframework.web.servlet.view.JstlView index.url = / WEB-INF / jsp / index.jsp success.class = org。 springframework.web.servlet.view.JstlView success.url = / WEB-INF / jsp / success.jsp 定义它: 并得到了错误: HTTP状态500 – 键入例外报告 信息 说明服务器遇到内部错误(),导致无法完成此请求。 例外 org.springframework.web.util.NestedServletException:请求处理失败; 嵌套的exception是org.springframework.beans.factory.BeanCreationException:创build名为'index'的bean时出错:bean的实例化失败; 嵌套的exception是java.lang.IllegalStateException:没有在bean定义上指定bean类org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java: 549)javax.servlet.http.HttpServlet.service(HttpServlet.java:617)javax.servlet.http.HttpServlet.service(HttpServlet.java:717)org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter( MonitorFilter.java:390) 根本原因 org.springframework.beans.factory.BeanCreationException:创build名为'index'的bean时出错:bean实例化失败; 嵌套的exception是java.lang.IllegalStateException:没有bean定义在bean定义AbstractAutowireCapableBeanFactory.java:901)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)org.springframework。 beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:291)org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:288)org.springframework.beans.fa ctory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java: 872)org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)org.springframework.web.servlet.view.ResourceBundleViewResolver.initFactory(ResourceBundleViewResolver.java:251)org.springframework.web.servlet.view。 ResourceBundleViewResolver.loadView(ResourceBundleViewResolver.java:194)org.springframework.web.servlet.view.AbstractCachingViewResolver.createView(AbstractCachingViewResolver.java:158)org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.java:77) […]
AbstractExcelView接受一个指向Excel工作簿的URL(即模板)。 而不是在容器创build时指定这个URL,我想dynamic地改变它。 我想要做的是重复使用多个Excel格式相同的视图(即一个是为屏幕,一个为打印)。 在请求中,我有一个variables,它决定了基于用户select的格式。 我如何根据这个请求variablesdynamic地设置URL? 当我的请求variables是“打印”时,我希望Excel模板是“excel / printable”,但是当variables是“screen”时,我希望Excel模板是“excel / fancy”。 只需在所需的方法buildExcelDocument()中设置URL不会,因为工作簿已经在这里初始化。 我发现最接近的东西可能会初始化这个(我有很高的期望)是类方法getTemplateSource(String url, HttpServletRequest request)…但是当我打电话给我时,Excel文档打开时得到一个文件数据错误,它是空的。