Tag: xls

OpenXml SpreadsheetDocument.Open(…)获取exception – 主要部分丢失

我有一个xlsx文件标题,它位于我的项目path。 我想使用OpenXML插入数据,但打开文件时出现exception: using (SpreadsheetDocument myDoc = SpreadsheetDocument.Open(MyxlsFileName, true)) { // … } 例外: “指定的软件包无效,主要部分丢失” exception的含义是什么,什么是错的? 预先感谢!

xlrd单元格的原始值

我正在使用xlrd读取xls文件。 问题是,当xlrd读取这样的值“12/09/2012” ,我得到这样的结果“xldate:41252.0” 。 当我使用xlrd.xldate_as_tuple时 ,我得到这个结果: (2016年,12年,10年,0年,0年) 我的代码: curr_row = -1 while curr_row < num_rows: curr_row += 1 row = worksheet.row(curr_row) for x in xrange(num_cols): field_type = worksheet.cell_type(curr_row, x) if field_type == 3: # this is date field_value = worksheet.cell_value(curr_row, x) print worksheet.cell(curr_row, x).value print xlrd.xldate_as_tuple(field_value, 1) 结果: 41252.0 (2016, 12, 10, 0, 0, 0) […]

Apache POI for Excel:将单元格types设置为整个列的“文本”

我需要生成一个.xls(Excel)文件,使用电子表格的Java库Apache POI 。 该文件将包含A列中的电话号码列表,格式为“0221 ….”或“+49221 …” – 因此Excel默认将其解释为数字单元格。 这是不好的,因为领先的0或+会被修剪。 为了解决这个问题,我可以使用cell.setCellType(Cell.CELL_TYPE_STRING) ,它可以正常工作,但仅限于我为此设置的特定单元格。 我怎样才能应用整个列的设置(即使所有的剩余单元格,用户将input额外的电话号码)? 在Excel中,这是可能的 :select整个列,并应用单元格types(设置保存/加载文件仍然存在)。 但是我找不到POI的正确方法。 首先我假设,它应该是像sheet.setDefaultCellType(int colNum) 。 但是我找不到像这样的东西(可能我只是瞎了?图书馆有很多类似的方法来应用文本样式,比如“align center”等) 然后我想:也许它只能应用于一个NamedRange或类似的东西,但我还没有设法解决这是如何工作的…

无效的标题读取xls文件

我正在读本地系统上的一个excel文件。 我正在使用POI jar版本3.7,但获取错误无效的头部签名; 读-2300849302551019537或hex0xE011BDBFEFBDBFEF,预期-2226271756974174256或hex0xE11AB1A1E011CFD0。 用Excel打开xls文件工作正常。 代码块在哪里发生:任何人的想法? /** * create a new HeaderBlockReader from an InputStream * * @param stream the source InputStream * * @exception IOException on errors or bad data */ public HeaderBlockReader(InputStream stream) throws IOException { // At this point, we don't know how big our // block sizes are // So, read […]

在xls文档打开后,Apache POI设置选定的单元格

我们有下一种情况:我们的系统有xls格式的数据导出,这是很多行和列的大文件。 而用户下载并打开文档后,他看到文件滚动到最后一列和最后一个电子表格选项卡。 这是非常烦人的,最好把重点放在第一个标签和第一个单元格上。 我做了简单的testing代码,看看它是如何工作的: public class SelectionTest { public static String file = "/usr/test/poi.test/src/main/resources/test"; @Test public void test() throws FileNotFoundException, IOException { HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(file)); HSSFSheet s = wb.getSheetAt(0); s.setActive(true); HSSFRow row = s.getRow(0); HSSFCell cell = row.getCell(0); cell.setAsActiveCell(); FileOutputStream out = new FileOutputStream(file); wb.write(out); out.close(); } } 而这不起作用。

如何在Excel文件c#中创build一个新的工作表?

我需要创build一个非常大的Excel文件,但一个工作表中的Excel文件最多可以包含65k行。 所以,我想把我所有的信息分成几个dynamic的工作表。 这是我的近似代码 //——————Create Excel App——————– Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(numberOfLetters); foreach (string letter in letters) { xlWorkSheet.Cells[rowIndex, 1] = letter; rowIndex++; } xlWorkBook.SaveAs(pathXL, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); xlWorkBook.Close(true, misValue, misValue); xlApp.Quit(); 如何在我的foreach循环中添加新的工作表,并使用一些条件为工作表命名(哪个用户可以在列表中的页面底部的Excel中看到)? […]

用C#打开Excel 2003电子表格。 找不到可安装的ISAM。 例外

我需要从xls中提取数据,我还需要让用户能够更改文件的位置。 所以一个OleDbConnection似乎是一个好的开始,直到第一个合并单元格。 这适用于除合并的单元格之外的所有单元格: OleDbCommand cmd = new OleDbCommand(); cmd.Connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;Extended Properties=Excel 8.0;"); cmd.CommandText = "SELECT * FROM [Sheet$]"; cmd.Connection.Open(); 我发现这应该允许访问合并的单元格: OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=1;"); 但是,我得到一个无法find可安装的ISAM例外cmd.conn.open(); 我遵循这里的build议: http : //support.microsoft.com/kb/209805 在这里: 错误:“找不到可安装的ISAM” 没有运气。 我打开其他方式从xls拉数据。 或者,即使有一个命令,我可以在xls上运行,以删除可能工作的镜像单元格。

Spreadsheet_Excel_Writer数据输出已损坏

我使用Spreadsheet_Excel_Writer来生成.xls文件,它工作正常,直到我必须处理大量的数据。 在某个阶段,它只是写一些无聊的字符,并退出填补某些列。 但是,有些列是字段到最后(通常是数字数据) 我不太清楚xls文档是如何形成的:一行一行,或者一列一列…另外它显然不是一个string中的错误,因为当我删除了一些数据时,错误出现了一点点。 我认为没有必要在我所有的代码 这里有一些必需品 $filename = 'file.xls'; $workbook = & new Spreadsheet_Excel_Writer(); $workbook->setVersion(8); $contents =& $workbook->addWorksheet('Logistics'); $contents->setInputEncoding('UTF-8'); $workbook->send($filename); //here is the part where I write data down $contents->write(0, 0, 'Field A'); $contents->write(0, 1, 'Field B'); $contents->write(0, 2, 'Field C'); $ROW=1; foreach($ordersArr as $key=>$val){ $contents->write($ROW, 0, $val['a']); $contents->write($ROW, 1, $val['b']); $contents->write($ROW, 2, $val['c']); $ROW++; […]

如何用PHP读取.xls文件(Excel)?

我需要将一个.xls文件转换为文本,我不需要以任何方式格式化。 该文件充满像PN-5098P,我会preg_match_all得到的productids。 什么是最简单的解决scheme? 我试图简单地在一个普通的texteditor打开文件,ids不显示,所以我想我需要一些types的二进制转换器?

在另一个工作表中将HTML表格导出到Excel(.xls)

我有一个简单的HTML页面(由外部应用程序生成),包含一个表视图。 我试图刮掉从页面的表,并把它们放在一个Excel工作簿。 我已经设法通过使用这里可用的方法把整个HTML内容放在工作簿中。 来自相关问题的代码: var tableToExcel = (function() { var uri = 'data:application/vnd.ms-excel;base64,' , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!–[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]–></head><body><table>{table}</table></body></html>' , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) } , format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) } return function(table, name) { if (!table.nodeType) table = document.getElementById(table) […]