Tag: java

在Excel上书写

当我在Excel文件中写入某些信息时,它只logging第一行中的单元格,剩下的是空的: for(int i = 0; i < 10; i++) { Label data1 = new Label(1, i, "1"); wsheet.addCell(data1); Label data2 = new Label(2, i, "2"); wsheet.addCell(data2); Label data3 = new Label(3, i, "3"); wsheet.addCell(data3); wworkbook.write(); } wworkbook.close(); 如何将代码更改为在所有十行中进行的post?

在本地运行,但不在服务器上,因为“数据源名称未find,没有指定默认驱动程序”

我想用Java读取我的单元格值(在Excel文件中)。 在这个过程中,我使用ODBC将Excel文件作为我的数据源。 我将用户,密码,URL和所有属性代码编写在一个单独的.properties文件中,供我的Java程序读取并连接到ODBC。 当我在本地机器上运行它时,它工作正常,但在服务器上运行时却失败。 我收到的错误是: [Microsoft] [ODBC驱动程序pipe理器]数据源名称未find,没有指定默认驱动程序 服务器是在Windows 2012上运行的64位机器。我在控制面板(服务器)上查看了我的pipe理工具。 它有两个ODBC,一个用于32位,另一个用于64位。 我的代码只在本地机器上而不是在服务器上运行的原因是什么? 是因为有两个工具,程序混淆在哪一个寻找? 我的DB = jdbc:odbc:驱动程序= {Microsoft Excel驱动程序(* .xls,* .xlsx)}; DBQ = c:/data.xls; READONLY = true; DriverID = 22; 这是我在.properties文件中编写的代码。 用户&pwd字段为空。 有什么我失踪或是其他东西吗?

如何使用Java在Excel电子表格中从多个工作表中读取特定单元格的内容?

我有一个电子表格有超过100张。 我必须从每张纸上读取特定的单元格内容,例如第7行第5列,并将其单独写入一列中。

开始读取指定行的Excel工作表

我正在阅读使用POI的XSSF和SAX(事件API)的Excel文件。 Excel工作表有成千上万行,所以这是我发现有良好性能的唯一方法。 现在我想从一个特别的行读取Excel文件,例如第6行,因为这些Excel文件每天都会更新,而且我存储了最后一行,因此我只能读取新行。 我如何从一行开始? private void getExcelField(AcquisitionForm acquisitionForm) throws ExcelReadException, IOException{ InputStream stream=null; OPCPackage p=null; try{ p = OPCPackage.open(acquisitionForm.getDatatablePath(), PackageAccess.READ); ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(p); XSSFReader xssfReader = new XSSFReader(p); StylesTable styles = xssfReader.getStylesTable(); XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator) xssfReader.getSheetsData(); int index = 0; //Test with one sheet iter.hasNext(); //(iter.hasNext()) { stream = iter.next(); String sheetName […]

读取多个单元格内的单个值的Excel文件中的值

我需要从Java中提取数据,这通常不是问题。 我有一个特殊的情况,我找不到一个好的页面。 我有一个值,但这个值是在4行。 例如, value = 25 ,但A1 , A2 , A3和A4一起显示该值。 Apache POI版本是3.6。 我找不到一个好方法来做到这一点。 有人能指点我吗? 显然row.hasNext()在这里不起作用。 有没有方法或方法?

检查一个Excel工作表是否受保护并find密码(使用apache poi)

我需要执行以下操作: 用户下载Excel文件(这是一个模板)与一些列只读和其他可编辑;(只读列是通过保护整个表 //protect entire sheet sheet.protectSheet("password"); //create style for editable cells XSSFCellStyle editableStyle = workbook.createCellStyle(); editableStyle.setLocked(false); //for editable cells apply this style cell.setCellStyle(editableStyle); 用户修改模板文件,只填充可编辑的单元格 用户上传模板 在上传模板期间,我需要检查上传的文件是否是之前下载的文件,使用完全相同的“密码”进行保护。 我有可能获得密码,但它是编码,我不知道如何解码。 byte[] password = sheet.getCTWorksheet().getSheetProtection().getPassword(); 你能帮我么?

如何设置Excel中的行的数据格式?

我试图在Excel中设置数据types为date格式('yyyy-MM-dd'),为此我写了以下一段代码: …. Row r = null; CellStyle cellStyle = workbook.createCellStyle(); //CreationHelper createHelper = workbook.getCreationHelper(); cellStyle.setDataFormat( workbook.createDataFormat().getFormat("yyyy-MM-dd")); for(int i =0;i < 2;i++){ switch(i){ case 0: r = sheet.getRow(0); r.setRowStyle(cellStyle); break; case 1: r = sheet.getRow(1); r.setRowStyle(cellStyle); break; default: break; } } …. 我只发布了前两行的格式以供参考。 但是,当我运行我的代码,并打开Excel表格,并检查前两行的单元格的格式,那么它只是一般的。 更改没有反映在Excel工作表中。 我没有得到我在这里做错了什么。

根据textarea的输出更新excel文件

我的代码导入excel文件,然后把一个特定的列到一个textarea我想知道我将如何修改excel文件,如果我编辑了textarea编辑应保存在excel文件上的东西 String excelFilePath = "sample.xlsx"; FileInputStream inputStream = null; try { inputStream = new FileInputStream(new File(excelFilePath)); } catch (FileNotFoundException e1) { e1.printStackTrace(); } Workbook workbook = null; try { workbook = new XSSFWorkbook(inputStream); } catch (IOException e1) { e1.printStackTrace(); } Sheet firstSheet = workbook.getSheetAt(0); Iterator<Row> iterator = firstSheet.iterator(); while (iterator.hasNext()) { Row nextRow = iterator.next(); […]

如何使用jsp servlet生成和下载Excel报表

我已经使用Apache POI生成了Excel报告。 我现在想要的,我想把这个发送到浏览器下载。 我的JSP如下。 <html> <head><title> Excel Generator</title> </head> <body> <a href="../houseHoldReportGenCtr">generate report</a> </body> </html> 这是我的servlet代码 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String report_path=request.getSession().getServletContext().getInitParameter("REPORT_PATH"); HouseHoldReportGenerator report = new HouseHoldReportGenerator("HOUSE_HOLD",attrStr_,dbParam); report.Write_Report___(report_path, dbParam); System.out.println("path–>"+report_path+report.getFileName_());} 我有我的报告生成Java类HouseHoldReportGenerator。 它生成报告。 但是,我想从一个点击jsp页面中的链接,我希望它被生成和下载。 我也可以得到报告的目的地。

使用apache POI在java中将数据写入xls,xlsx,csv文件

在使用Apache POI将一些数据写入Excel表单时遇到问题。 我的代码如下: public class DataExp implements Serializable { private static final Logger logger = Logger.getLogger(DataExp.class); public static File exportToCsv(List<WebInOutTrx> givenList, List<DataExpTmplt> dataTmpltList) throws IOException { String url = "D:\\"; File file = new File(url); String csv = "D:\\Output.csv"; CSVWriter csvWriter = new CSVWriter(new FileWriter(csv), ','); List<String[]> data = toStringArray(givenList, dataTmpltList); csvWriter.writeAll(data); csvWriter.close(); System.out.println(csv); return […]