Tag: java

使用java和javascript将数据从Excel导入数据库。 什么是更快的方法?

我想从excel中导入大量logging(数千条logging)的数据。 我想我们可以使用JavaScript来准备数据,然后插入到数据库,或者另一种方式是上传Excel文件,然后使用java处理。 什么是更快的方法?

在POI中分组excel单元格,并将第一行作为“主要”

我使用POI来生成一个Excel表格。 使用分组行时 curSheet.groupRow(firstRow, lastRow) 我注意到在折叠之前停留的主要行是分组的最后一行(具有编号lastRow的行)。 我怎样才能把它改成第一排?

在JSP上使用Apache POI时出现exception

我试图实现Apache POI,将Excel文件中的数据显示在我的网页上。 我得到这个例外: exception org.apache.jasper.JasperException: Unable to compile class for JSP org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:677) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:364) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause java.lang.IllegalArgumentException: Page directive: invalid value for import org.apache.jasper.compiler.Node$PageDirective.validateImport(Node.java:628) org.apache.jasper.compiler.Node$PageDirective.addImport(Node.java:611) org.apache.jasper.compiler.Parser.parsePageDirective(Parser.java:352) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:473) org.apache.jasper.compiler.Parser.parseFileDirectives(Parser.java:1773) org.apache.jasper.compiler.Parser.parse(Parser.java:135) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242) org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:119) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:194) org.apache.jasper.compiler.Compiler.compile(Compiler.java:374) org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) org.apache.jasper.compiler.Compiler.compile(Compiler.java:341) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:662) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:364) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 这是我的.jsp文件上的代码: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page import="java.io.FileInputStream, java.io.FileNotFoundException, […]

Excel在JAVA servlet中下载错误文件不匹配

/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("Hi inside download file :"); response.setContentType("application/vnd.ms-excel"); PrintWriter out = response.getWriter(); String filename = "ResetPassword.xlsx"; InputStream is = null; //is = this.getClass().getClassLoader().getResourceAsStream("LoginConfigurations.xlsx"); //System.out.println("InputStream :"+is); String filepath = "E:\\SPACE_OM_01.02\\SPACE-OM_1.0-V01.02\\WebContent\\Data\\"; response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=\"" + […]

使用java POI在Excel中打印数据

我从SQL表中获取数据。 sql表的行依赖于ID,所以这里的Action行不固定,可能会有所不同。 其中xxxx行是固定的(单行)。 我想在Excel文件中以这种格式打印输出 Column1 Column2 Column3 Column4 Column5 NAME completedWorkflows runningWorkflows failedWorkflows cancelledWorkflows xxxx 2233 1312 123 1232 ONE BLANK ROW(In below table Rows are not fixed it may change depends on data) NAME completedWorkflows runningWorkflows failedWorkflows cancelledWorkflows Action 1 12365 54545 55 788 Action 2 54545 88 88 4 Action 3 97 123 […]

通过terminal运行Java代码时出现问题

我试图让示例程序运行Excel(xlsx)电子表格和加载数据在2维数组。我已经谷歌search,并find了一些很好的样本。 但我面临的问题是,它不是通过terminal运行,虽然它运行良好,当我从eclipse运行的代码。 在这里,我正在通过terminal运行代码附加错误的屏幕截图: – 我使用的代码是: import java.io.FileInputStream; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ExcelDemo { public static void main(String[] args) { ExcelDemo xread2 = new ExcelDemo(); } public ExcelDemo() { getvalue_1(); } public static void getvalue_1() { XSSFRow row; XSSFCell cell; String[][] value = null; double[][] nums = null; try { […]

需要一个不使用公式的apache POI createDateConstraint的工作示例

poi.apache.org网站给出了以下定义 public static DVConstraint createDateConstraint(int comparisonOperator,java.lang.String expr1,java.lang.String expr2,java.lang.String dateFormat) 我想要一个例子,其中expr1和expr2是格式化的date值。

使用Apache Wink通过Java REST服务返回Excel文档

我需要从Java REST服务返回一个Microsoft Excel文件。 我正在使用WebSphere 8.5,它固有地使用Apache Wink,因为它是JAX-RS实现; 这是我不能改变的一个要求。 我也在使用Java 7 JDK。 这是我收到的错误: org.apache.wink.server.internal.handlers.FlushResultHandler handleResponse系统找不到com.somewhere.else.message.core.BaseResponseMessagetypes的javax.ws.rs.ext.MessageBodyWriter或DataSourceProvider类和application / vnd.ms-excel mediaType。 确保JAX-RS应用程序中存在指定的types和媒体types的javax.ws.rs.ext.MessageBodyWriter。 这是我的Java资源类的方法: @GET @Path("/report") @Produces("application/vnd.ms-excel") public Response getReport() { int fileSize = 0; byte[] reportByteArray = null; ResponseBuilder responseBuilder = null; InputStream report = null; BaseResponseMessage<InputStream> baseResponseMessage = new BaseResponseMessage<InputStream>(); Path reportPath = null; String localPath = "C:/Users/me/Report.xls"; responseBuilder […]

getLastRowNum不返回正确的行数

我在使用getLastRowNum()方面有一个小难题。 我试图从Excel工作表中获取数据的行数。 假设我有3行,它应该返回一个打印输出语句,说明3行。 现在我的问题是无论我填充多less行,它都返回给我一个固定的数字。 以下是代码摘录: FileInputStream fis = new FileInputStream("C:\\Test Data\\Login.xlsx"); XSSFWorkbook wb = new XSSFWorkbook(fis); XSSFSheet sheet = wb.getSheet("Login"); System.out.println("No. of rows : " + sheet.getLastRowNum()); 我的Excel表格包含以下内容 从附图中,我应该得到4的行数,但是我得到了6。 任何意见深表赞赏。 先谢谢你。

如何只读取GAE中包含超过80K行和7列以上的Google电子表格的前四行(使用Java)

我有一个用例,试图只抓取一个已公开发布的google电子表格的前四行,并将其显示在网页上。 对于只有几千行的电子表格,没有任何问题。 但是对于80K以上的电子表格,总是发生超时exception。 我已经提到这个链接,因为我发现它与我的关注类似: 无法在使用SpreadSheet API时完成HTTP请求 并使用超时和重试超时,但似乎进入无限循环。 我正在使用“ListFeed”。 是否有可能是因为ListFeed加载整个电子表格,应用程序需要更多的时间来加载? 有什么替代解决scheme,因为我只需要获取第一个4-5行,而不是整个电子表格到我的Web应用程序? 请提出build议。 以下是这段代码: 超时并重试: ListFeed lf = null; while (timeoutflag != 1) { try { lf = service.getFeed(url, ListFeed.class); timeoutflag = 1; } catch (RuntimeException e) { timeoutinc += 2; service.setConnectTimeout(timeoutinc * 3000); service.setReadTimeout(timeoutinc * 3000); } } 获取行数: for (int k = 0; k < […]