Tag: xlsx

OleDbConnection.GetOleDbSchemaTable for .xlsx不识别隐藏的工作表

我正在使用OleDbConnection从.xlsx工作簿检索数据。 当我检索工作表的列表时,它不能确定是否有任何隐藏的工作表。 过去通过以下划线结束它的名字是例如“Sheet1 $ _”。 你知道如何知道这是隐藏的吗? using (var connection = new OleDbConnection(string.Concat("Provider=Microsoft.ACE.OLEDB.12.0;Mode=Read;Data Source=", fileName, ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\""))) using (var command = new OleDbCommand("", connection)) { connection.Open(); var listedSheets = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] {null, null, null, "Table"}); if (listedSheets != null) { var sheetNames = new List<string>(listedSheets.Rows.Count); foreach (DataRow row in listedSheets.Rows) { sheetNames.Add(row[2].ToString()); } return […]

pandas:写一个数据透视表的所有列擅长

我想从pandas写一个数据透视表到一个Excel工作表,但我失去了一个单元级别的信息,我不能在浏览网页时find解决scheme。 下面是我在DataFrame中创build的数据透视表中的内容: T-Class <00.5 <01.0 ZIP 0 1375.0 762.0 1 2177.0 913.0 当我把它写到excel中时,我失去了与'ZIP'对应的空行的单元格'T-Class'这就是我使用xlsx编写器: ZIP <00.5 <01.0 0 1375 762 1 2177 913 写入excel的示例代码: writer = pd.ExcelWriter('data.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name='pivottable',header = True,index=True) writer.save() 如何解决这个问题?

读取.xlsx文件时出现问题?

我做了一个testing文件,并通过excel文件运行很好,但是当我插入一个很多的数据,我得到以下错误: The Microsoft Office Access database engine could not find the object 'Sheet1$' 这看起来非常明显,但是'Sheet1'肯定存在,就像在我的testing文件中 – 我已经检查了大约30次。 在第一张纸上只有数据,并且与默认值一样明确地命名为“Sheet1”。 任何想法,为什么我仍然会得到这个错误? 码: string path = Server.MapPath("~") + "\\attachments\\ejmaps\\ejmaps.xlsx"; string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\";"); OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connString);

从JAVA的Excel工作表2007年读取数据

尝试读取Excel 2007电子表格(.xlsx)时遇到问题。 我想通过使用POI库在JAVA中实现该方法,但我得到这个错误: 线程“main”中的exceptionjava.lang.NoClassDefFoundError:org / apache / xmlbeans / XmlException 这是我的方法: public void No_rows() throws IOException { File inputWorkbook = new File(inputFile); FileInputStream w = new FileInputStream(inputWorkbook); XSSFWorkbook workbook = new XSSFWorkbook(w); XSSFSheet sheet = workbook.getSheetAt(0); Iterator rows = sheet.rowIterator(); int number=sheet.getLastRowNum(); this.num_rows = number; w.close(); }

XLS标记到XLSX转换

我最近inheritance了一些使用XML和XSLT手动创buildXLS文件的C#代码。 我需要更新代码来编写XLSX文件而不是XLS文件(为了充分利用增加的列和行数)。 有没有简单的方法来创build一个XLSX文档编程,然后注入与原始的XML? 这里是转换和保存文件的代码。 XmlReader reader = XmlReader.Create(new StringReader(sourceXML)); XmlDataDocument xdd = new XmlDataDocument(); xdd.Load(reader); XslCompiledTransform xct = new XslCompiledTransform(); XmlReader xsltdatareader; xsltdatareader = XmlReader.Create(new StringReader(xsldata)); xct.Load(xsltdatareader); try { StreamWriter sw = new StreamWriter(resultXlsFilename); xct.Transform(xdd, null, sw); sw.Flush(); sw.Close(); }

从Ruby运行Excelmacros – 在Unix环境中

我有一个xlsx格式的excel表单,它有一个非常复杂的macros,它可以根据大约20个奇数variables来计算投资信息。 我应该使用此xlsx文件并在unix环境中运行macros。 基本上整合了我的后端Rails应用程序。 我的问题是,如何从Linux shell运行macros,我需要设置单声道为了使用win32ole? 或者我可以使用roo gem来实现这一点。 谢谢。

在java中需要帮助来扭曲超链接字段文件

我正在尝试通过具有超链接字段的Java编写excel文件。 我从对象列表写它。 请检查我的代码。 当我给对象列表时它正在工作。 这是写xls文件。 但我也想写超链接。 我应该在下面的代码中改变什么? 只需从exportToExcel方法开始。 package com.ksh; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; 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; import com.ksh.Final.Link; public class OwnClass { private static SimpleDateFormat […]

如何获得Excel文件中的每个单元格的值,然后将其保存到MySQL数据库?

我正在使用PHP,我用simplexlsx.class来读取一个excel文件。 我可以得到每行的所有值。 但是,我不知道如何获得每个单元格的值,以便我可以将这些值保存在数据库中。 我试了下面的代码来打印每个单元格的值。 但是这只是打印。 for($j=1; $j <= $xlsx->sheetsCount();$j++){ echo '<pre>'; print_r( $xlsx->rowsEx($j) ); echo '</pre>'; } $ xlsx-> rowsEx($ j)是一个数组forms[name,value,href]。 我只对价值感兴趣。 这里是用于rowsEx的simplexlsx.class中的代码。 function rowsEx( $worksheet_id = 1 ) { $rows = array(); $curR = 0; if (($ws = $this->worksheet( $worksheet_id)) === false) return false; foreach ($ws->sheetData->row as $row) { foreach ($row->c as $c) { […]

格式化由XSLT生成的XSLX文件中的单元格

我正在使用XSLT生成包含date列的报表。 在电子表格XLSX文件中,如果我将date作为string传递,当使用电子表格软件包(如Excel)打开它时,它将假定它是一个date(这是正确的),然后将其格式化为MM/dd/yyyy我们实际上想要的是dd/MM/yyyy 。 这似乎是造成这种情况的电子表格软件包,但是我想知道是否可以从XSLT定义单元格格式? 这里是我用来做到这一点的代码: <xsl:template match="SomeTemplate"> <Row> … <Cell> <xsl:value-of select="ms:format-date(StartTime, 'dd/MM/yyyy')" /> <xsl:text> </xsl:text> <xsl:value-of select="ms:format-time(StartTime, 'HH:mm:ss')" /> </Cell> … </Row> </xsl:template> 我试图用其他方法来解决这个问题,比如用'但是奇怪的是这不起作用! 以下是与上述XSLT相关的XML示例: … <Destination> <StartTime>2013-03-07T00:01:09</StartTime> <EndTime>2013-03-07T10:41:09</EndTime> … </Destination> …

EXCEL – 打开Excel工作簿时出错

我有Office 2007.每次启动Excel或打开一个现有文件时,它都会尝试访问一些旧文件,并popup以下错误消息: 'E:\ xyz.txt'找不到。 检查文件名称的拼写,并validation文件位置是否正确。 如果您尝试从最近使用的文件列表中打开该文件,请确保该文件未被重命名,移动或删除。 请帮忙。 提前致谢!