如何解决C#中Method not found的问题?
我正在尝试读取一个XLSX文件,并且我从此codeproject链接 现在,我会收到以下异常消息: 与此异常相关的代码段如下: public static sst SharedStrings; /// /// All worksheets in the Excel workbook deserialized /// /// Full path and filename of the Excel xlsx-file /// public static IEnumerable Worksheets(string ExcelFileName) { worksheet ws; using (ZipArchive zipArc
24 2024-04-25
编程技术问答社区
更新XLSX文件在使用XMLReader读取文件时会更改
我们有一个代码,该代码将Excel XLSX文档加载到内存中,对其进行一些修改并将其保存. XmlDocument doc = new XmlDocument(); doc.Load(pp.GetStream()); XmlNode rootNode = doc.DocumentElement; if (rootNode == null) return; ProcessNode(rootNode); if (this.fileModified) { doc.Save(pp.GetStream(FileMode.Create, FileAccess.Write)); } 这在小文件中很好地工作,但是使用一些大型Excel文件抛出Outofmemory例外.因此,我们决定更改方法,并使用XmlReader类,以不立即将文件加载到内存中. PackagePartCollection ppc = this.Package.GetParts(); foreach (Pa
12 2024-04-25
编程技术问答社区
用VB来区分来自C#互操作或Excel程序的xlsx事件
我有一个我想要触发的事件,当用户关闭一个.xlsx文件时.我还有一个C#程序,可以定期检查同一文件中的内容.我遇到的问题是,当我的C#程序(使用InterOp)关闭.xlsx文件时,它会触发我的VB代码.有没有一种方法可以隔离访问Excel文件,以便我知道它已在Excel程序中进行了编辑? 我只想在用户在Excel中编辑文件时触发我的VB代码. 谢谢 解决方案 我决定简单地让我的C#程序在开始时创建一个临时文件,然后在最后删除它.如果VB看到临时文件,则表示C#必须在编辑Excel文件,否则我们可以假设它是用户. 其他解决方案 希望您得到一个更好的答案,但我相信如果您没有更好的情况,这个答案会提供解决方案. 在底部是一个宏,它返回活动过程的数组.通常,当我从宏中调用了长期运行的程序时,我通常会使用它,并且我想知道它何时完成.我通过每隔几秒钟调用例程来确定这一点,直到程序从数组中消失. 该例程上方是Workbook_beforeclose事件宏.这会
16 2024-04-25
编程技术问答社区
读取一个xslx文件并转换为List
我有一个带有以下数据的XSLX文件 www.url.com www.url.com www.url.com www.url.com www.url.com www.url.com www.url.com www.url.com ... 就像您可以看到我只有1列和很多行. 我需要以某种方式从XSLX文件中读取该列,然后将其转换为List. 有帮助吗? 谢谢! 解决方案 您可以使用 var ep = new ExcelPackage(new FileInfo(excelFile)); var ws = ep.Workbook.Worksheets["Sheet1"]; var domains = new List(); for (int rw = 1; rw
14 2024-04-24
编程技术问答社区
用EEPlus读取Excel文件时,Excel日期字段的值与c#日期时间相差1天
我在使用EEPLUS库中从Excel(.xlsx)文件中获取正确的日期字段值的问题. 特定的问题是,在Excel中,我有例如1900.01.04,但在C#I中获得1900.01.03. 我有一个想法,当我从excel中读取日期值时(EEPLUS)将其转换为UTC,我应该将其转换为本地时区,但是由于日期对象的时间值不为nil,可能并非如此. var date = (DateTime) Worksheet.Cells[row, column].Value; 谢谢! 解决方案 如果EEPLUS日期与Excel日期不同,则可能是EEPLUS中的一个错误. 它很可能正在考虑 funamous excel 1900 excel 1900 leap年bug 2月29日(!!)1900. 之后的日期
12 2024-04-23
编程技术问答社区
C#. xlsx日期单元格导入DataTable by NPOI 2.0
我尝试使用NPOI 2.0库将.xlsx文件转换为数据表格式.没关系,但是我在转换为字符串日期单元格时有问题.当我尝试使用诸如row.getCell(j).toString()之类的构造时,它是"无法从文本单元格中获得数字值"的例外.我尝试使用DateCellValue属性,但也抛出了此例外.使用其他单元格式,它的工作状态很好. 功能,我使用的是: private DataTable xlsxToDT(string fileName) { DataTable table = new DataTable(); XSSFWorkbook workbook = new XSSFWorkbook(new FileStream(fileName, FileMode.Open, FileAccess.Read)); ISheet sheet = workbook.GetSheetAt(0); IRow headerRow
14 2024-04-21
编程技术问答社区
NPOI-写作以归档损坏.xlsx工作簿
我有一块代码,目前写入.xls工作簿(HSSFWorkbook),没有任何问题.但是,当我尝试使用相同的代码写入.xlsx工作簿(XSSFWorkbook)时,档案被损坏,无法在Excel中打开. 以下代码是我用来访问工作簿,编辑工作簿,然后保存回工作簿的代码.我最初以为我用来编辑工作簿的代码是问题所在,但是在评论问题之后,问题仍然持续. IWorkbook workbook; using (var file = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { if (Path.GetExtension(fileName).Contains("xlsx")) { workbook = new XSSFWorkbook(file); } else { workbook = new HSSFWorkboo
16 2024-04-20
编程技术问答社区
Excel到PDF没有办公室
我需要在正在处理的Windows应用程序中生成PDF报告,并通过将.XLSX文件导出到PDF来实现.但是,我目前正在使用Interop,但是: 我需要这样做,而无需用户购买软件,因此没有Microsoft Office Excel. 我也不能使用任何繁重的依赖(例如开放/libre办公室). 该应用程序在.NET WINFORMS中,并且是本地的(不取决于Internet连接). 我尝试的东西: 我尝试了ItextSharp,但这确实很复杂 像溢出的列. 尝试过封闭XML,但无法转换为PDF. (如前所述)尝试了互动,但找不到使其独立在办公室的方法. 帮助您将不胜感激,谢谢您:) 编辑: itextsharp 我会使用它,除了我需要导出一个具有可变数量的大数据表 列(最多30列),如果有很多列,则它会变得非常复杂 处理该列溢出,这很容易在互动中. aspose 似乎太贵了,因为我在一家目前在资源中非常有限的小公司工作. 解决方案
12 2024-04-20
编程技术问答社区
C# OPENXML XLSX自定义列宽
c#newbie在这里! 我需要创建一个小型控制台应用程序,以将CSV文件转换为XLSX文件. 我的所有样式和数据都可以正常工作,但是我想在某些列上设置不同的(默认)宽度.经过一天的搜索和阅读,我仍然无法弄清楚如何使它工作. 作为一个例子,我想 将列A和C设置为30 的宽度 将D列设置为20 的宽度 任何帮助或技巧都会很棒. 我的代码现在 using System; using System.Linq; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Spreadsheet; using DocumentFormat.OpenXml; using Microsoft.VisualBasic.FileIO; namespace xml_test { class Program { static void Main(string[
26 2024-04-17
编程技术问答社区
设置打印时行数在顶部重复 | 打开XML和Excel
我正在尝试在打印时在每个页面的顶部重复一个XLSX文件的前4行.我正在使用开放的XML SDK来实现这一目标. 我的文件是由SSRS Execution Web服务生成的文件.然后,在将文件交付给用户之前,我需要修改几个布局和页面设置(保证金,页面大小,缩放等),因为我的用户很少有Excel敏锐度.我需要调整的所有其他设置都可以正常工作,因此我从此示例中删除了所有代码. 尝试使用下面的代码设置重复页面标题时,它不会执行任何错误.但是,当我执行代码后尝试打开文件时,我会收到损坏的文件消息,并且不会打开. 知道我在这里做错了什么?这让我发疯! using (SpreadsheetDocument xl = SpreadsheetDocument.Open("C:\\" + filename, true)) { WorkbookPart wbp = xl.WorkbookPart; //-----------------------------------------
12 2024-04-16
编程技术问答社区
为什么在打开.xls文件时显示错误信息
在我的ASP.NET,C#应用程序中,我们正在生成和下载.xls文件.但是当我试图打开时,它会发出消息 "您要打开的文件'filename.xls'在不同 格式比文件扩展名定的格式.验证文件是 未损坏,并在打开文件之前来自受信任的来源.做 您现在要打开文件吗?" 如果我按'是',它将打开.我将文件扩展名更改为.xlsx,但仍然相同的消息.谁能告诉我为什么会发生这种情况?我已经在IIS Manager中添加了.xlsx MIME类型扩展名为application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.仍然显示相同的消息.请建议我如何摆脱它. 解决方案 您是完全创建XLS文件还是复制并填写模板XLS文件? 错误的格式模板文件可能会导致问题. 另外,您使用哪个提供商来填写文件? -Microsoft.ace.oledb.12.0 for XLSX/XLSM? -Microsoft.jet.oledb
18 2024-04-15
编程技术问答社区
在C#中解析Excel文件时,单元格似乎在255个字符处就被切断了......我怎样才能阻止它呢?
我正在用c#的ASP.NET中的上载Excel文件(XLSX)解析.我正在使用以下代码(简化): string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\";"); OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connString); DataSet ds = new DataSet(); adapter.Fill(ds); adapter.Dispose(); DataTable dt = ds.Tables[0]; var rows = from p in dt.AsEnumerable() select new { desc = p[2]
12 2024-04-14
编程技术问答社区
C# .xml到.xlsx如何?
我想将一个完整的XML文件转换为XLSX,但我不确定如何做. 我在Google搜索了解决方案,但是最多的时候我只找到进入另一个方向的方法,例如XLSX到XML. 在Microsoft页面上,我找到了一个XMLConvertClass,但我不确定如何与课程一起工作. 过去有人做过这样的事情,可以帮助我吗? 解决方案 尝试以下代码,其中我将XML转换为数据集,然后将数据集导出到Excel DataSet ds = new DataSet(); //Convert the XML into Dataset ds.ReadXml(@"E:\movie.xml"); //Retrieve the table fron Dataset DataTable dt = ds.Tables[0]; // Create an Excel object Microsoft.
10 2024-04-13
编程技术问答社区
将XLSM转换为XLSX
我正在使用Epplus库读取来自Excel的数据来创建另一个文件.不幸的是,它不支持.xlsm扩展文件.是否有一种不错的方法将.xlsm文件转换为.xlsx文件,以便使用epplus读取文件? (使用epplus进行阅读会很好,因为我所有的代码已经使用它编写了:)) 解决方案 为了做到这一点SDK 2.0 .以下是我尝试时对我有用的代码段: byte[] byteArray = File.ReadAllBytes("C:\\temp\\test.xlsm"); using (MemoryStream stream = new MemoryStream()) { stream.Write(byteArray, 0, (int)byteArray.Length); using (SpreadsheetDocument spreadsheetDoc = SpreadsheetDocument.Open(stream, true)) {
12 2024-04-12
编程技术问答社区
从C#读取Excel文件
我有一个连接字符串,可以从我的C#项目中读取Excel文件. String ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + VariableFile + ";" + "Extended Properties=Excel 8.0;"; 我也有objconn.open();打开文件.. 问题是我的程序唯一一次打开文件是我手动打开Excel文件并运行程序.任何人都可以帮助我从我的C#代码打开文件,而不必先手动打开它.我会收到错误消息:当我尝试运行它而不先打开Excel文件时找不到可安装的ISAM. 谢谢 解决方案 我认为您的连接字符串格式错误,而"找不到可安装的ISAM"通常是这样的指示. 尝试一下,这是我
8 2024-04-12
编程技术问答社区
如何用C#将xls文件转换成xlsx文件?
我正在开发一个从excel文件读取数据的应用程序,但是当我尝试打开它时,如果用 xls格式保存源文件,就会抛出一个例外(文件包含损坏的数据使用OpenXML打开Excel表时出错.确实,当我使用XLSX格式保存此文件时,它可以正常工作.请帮助我解决这个问题. 解决方案 使用样本: Workbook workbook = new Workbook(); workbook.LoadFromFile("Input.xls"); workbook.SaveToFile("Output.xlsx", ExcelVersion.Version2013); 其他解决方案 对于可靠地读取XLS文件,您可以使用 exceldAtaReDer "> exceldataReader 是一个轻巧和快速的库编写的库在C#中用于阅读Microsoft Excel文件.它支持Excel文件的导入到Excel的2.0版(1987年发布!) 另外,您可以使用文件转换API ,例如 zamzar
26 2024-04-12
编程技术问答社区
OpenXML。Excel,提取单元格文本和图像/图片数据
我正在编写代码,以从Excel DOC中将单元格和图像提取到数据库中. 使用此代码,我可以获取不是图片的单元格值. 但是,单元对象没有图片.请注意,每个行以图像开头. A1- Picture B1- Text C1- Text and so on. 如何从" A"列获得图像? WorkbookPart wbPart = document.WorkbookPart; var workSheet = wbPart.WorksheetParts.FirstOrDefault(); foreach (Row r in workSheet.Worksheet.Descendants()) { //Note only has Colum B,C. Not A as A has an image??? foreach(Cell c in r.Chil
8 2024-04-12
编程技术问答社区
Excel "外部表格不符合预期格式"。
我正在尝试使用下面显示的代码读取Excel(XLSX)文件.我得到了"外部表格不采用预期格式".错误,除非我已经在Excel中打开文件.换句话说,我必须先在Excel中打开文件,然后才能从C#程序中阅读. XLSX文件在我们网络上的共享上.如何在不首先打开文件的情况下读取文件? 谢谢 string sql = "SELECT * FROM [Sheet1$]"; string excelConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathname + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\""; using (OleDbDataAdapter adaptor = new OleDbDataAdapter(sql, excelConnection)) { DataSet ds = new DataSet(); adaptor
10 2024-04-10
编程技术问答社区
如何从XLSX文件扩展名中批量插入?
任何人都可以建议如何从.xlsx文件中插入? 我已经尝试了以下查询: BULK INSERT #EVB FROM 'C:\Users\summer\Desktop\Sample\premise.xlsx' WITH (FIELDTERMINATOR = '\t', ROWTERMINATOR = '\n', FIRSTROW = 2); SELECT * FROM #EVB 我也尝试了FIELDTERMINATOR like "**\t**", "**,**", "**;**", "**|**",但这也不起作用. 不幸的是,没有错误消息. 解决方案 您可以将XLSX文件保存为选项卡的文本文件,然后做 BULK INSERT TableName FROM 'C:\SomeDirectory\my table.txt' WITH ( FIELDTERMINATOR = '\
14 2024-04-05
编程技术问答社区
Android-docx4j构建问题
我正在开发Android应用程序.在其中,我需要在应用程序中显示DOCX,XLSX文件.我已经在Internet上进行了搜索,发现 docx4j 会将DOCX,XLSX文件转换为HTML(OR)PDF.因此,我打算显示WebView中 docx4j 的HTML返回. 这样我已经从 github 下载了来源.我也对链接​​中给出的Eclipse.ini文件进行了更改. 但是,我无法执行该应用程序.运行应用程序时,我会得到以下例外. [2014-11-24 17:19:34 - AndroidDocxToHtml-master] Conversion to Dalvik format failed with error 1 详细日志: [2014-11-24 17:19:34 - AndroidDocxToHtml-master] Dx warning: Ignoring InnerClasses attribute for an anonymous inner
16 2024-04-04
编程技术问答社区