Tag: c#

修复logging:从头开始创build的工作表中的单元信息

打开我的OpenXML创build的电子表格时,出现错误。 错误如下。 Repaired Records: Cell information from /xl/worksheets/sheet.xml part Repaired Records: Cell information from /xl/worksheets/sheet2.xml part Repaired Records: Cell information from /xl/worksheets/sheet3.xml part 我唯一能够在网上find的东西很有帮助,这个问题是一个algorithm的讨论,它改变了一个单独的单元多次导致问题。 话虽如此,我将链接我的构造函数的SpreadsheetDocument以及三个function更新单元格(我做了一次)。 我可以根据需要提供任何其他function,但我相信问题在下面列出的两个地方。 顺便一提, GetWorksheetPartByName InsertCellInWorksheet GetCell 应该都按预期工作。 实际计划 static void Main(string[] args) { //Full path for File const string newFile = "@C:\test.xlsx"; //Constructor creates default worksheet called "mySheet" var spreadsheet = […]

C#EPPlus OpenXML计数行

EPPlus和OpenXML有没有人知道如何计算行的语法? 说我的工作表被称为“工作表” int numberRows = worksheet.rows.count() ? 或worksheet.rows.dimension 我对这个答案肯定很感兴趣,但是如何find答案会很酷,就像“去定义”一样寻找这个或那个,等等。

*每个* Excel互操作对象是否需要使用Marshal.ReleaseComObject发布?

编辑 请参阅如何正确清理Excel互操作对象? 。 最近我遇到了这个问题,它提供了很多关于如何正确处理COM对象的问题的见解。 肯定检查超出第一个(标记)的答案,因为其他答案超越了简单的“不要使用两个点”和“使用ReleaseComObject为每个COM对象”的build议。 我首先回顾了这个问题,因为我意识到尽pipe在注册和部署所有COM对象方面非常全面,但是我的Excel实例仍然没有得到妥善处理。 事实certificate,有一些方法可以创build完全不明显的COM对象(即,即使您从不使用两个点,也可能会错过COM对象)。 此外,即使你是彻底的,如果你的项目增长超过一定的规模,错过一个COM对象的机会接近100%。 当发生这种情况时,很难find你错过的那个。 上面提到的问题的答案提供了一些确保Excel实例被closures的其他技巧。 同时,我对ComObjectManager (下面)做了一个小的(但是很重要的)更新,以反映我从上面链接的问题中学到了什么。 原来的问题 我已经看到了几个例子,其中Marshal.ReleaseComObject()与Excel Interop对象(即,来自命名空间Microsoft.Office.Interop.Excel的对象)一起使用,但我已经看到它在不同程度上使用。 我想知道如果我能摆脱这样的事情: var application = new ApplicationClass(); try { // do work with application, workbooks, worksheets, cells, etc. } finally { Marashal.ReleaseComObject(application) } 或者,如果我需要释放每个创build的对象,如下所示: public void CreateExcelWorkbookWithSingleSheet() { var application = new ApplicationClass(); var workbook = application.Workbooks.Add(_missing); var worksheets = workbook.Worksheets; […]

使用Excel文件的简单可靠的C库是什么?

那么…就是这样。 我需要一些简单 可靠的东西(不必具有奇特的function – 我需要从Excel单元格中编写和读取文本和数字) 是的,我想要一个样本“Hello Cell”代码 … 你有什么build议?

将数据写入Excel时如何使正确的date格式

Iam使用Office Interop将DataTable导出到Excel文件。 问题是,Excel不能识别date,而是显示数字。 在另一种情况下,我传递一个string,然后将其识别为date。 在这两种情况下,数据都搞砸了。 我试过NumberFormat @这应该存储在文本格式的单元格,但它也没有工作。 Application app = new Application(); app.Visible = false; app.ScreenUpdating = false; app.DisplayAlerts = false; app.EnableAnimations = false; app.EnableAutoComplete = false; app.EnableSound = false; app.EnableTipWizard = false; app.ErrorCheckingOptions.BackgroundChecking = false; Workbook wb = app.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); Worksheet ws = (Worksheet)wb.Worksheets[1]; for (int j = 0; j < dt.Rows.Count; j++) { for […]

冻结EPPlus中的列(Excel分割function)

我一直在使用EPPlus进行大量工作,以生成Excel文件,以获取项目所需的导出数量。 他们想要的大部分出口往往与他们已有的出口产品完全匹配。 其中之一,但是,他们想要不同的。 他们希望在完成一些典型的和特定的编辑之后,它看起来就像传统系统中的一个出口。 但是,他们所做的某些编辑使得每一行都比他们想要的要长,所以他们希望保留一些列信息locking在屏幕上,而其余的列可以正常滚动(即Excel的分割function)。 我试着用ws.Column(6).Style.Locked = truelocking列,但是这似乎不工作。 我也尝试设置一个单元格区域的Locked属性为true,但也没有奏效。 我怎样才能冻结列?

有没有简单的方法将.xls文件转换为.csv文件? (EXCEL)

有没有简单的方法将.xls文件转换为.csv文件? (EXCEL) 在C#代码? 我的意思是采取现有的.xls文件,并将其转换为.csv文件 提前致谢

如何在没有安装Office的情况下以编程方式创build,读取,写入Excel?

我很困惑,所有的bazillion方式读取/写入/创buildexcel文件。 VSTO,OLEDB等,但都似乎有办公室必须安装的要求。 这里是我的情况:我需要开发一个应用程序,将一个Excel文件作为input,做一些计算,并创build一个新的Excel文件,这基本上是第一个Excel文件的修改。 所有的限制,运行这个机器可能没有安装办公室。 (不要问为什么…) 我需要支持所有的 Excel格式。 唯一的优点是格式电子表格本身非常简单。 只是一堆专栏和价值观,没有什么奇特的。 不幸的是没有CSV,因为最终用户可能不知道什么是CSV文件。

Microsoft.Office.Interop.Excel真的很慢

我正在使用标准的Microsoft.Office.Interop.Excel将1200 X 800matrix(indexMatrix)导出到excel文件。 该应用程序的作品,只是它真的真的很慢(即使是100×100matrix)。 我也通过TextWriter在文本文件中输出它几乎立即工作。 有没有办法更快地导出到Excel文件? 这是我的代码: Excel.Application xlApp=new Excel.Application(); Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; //xlApp = new Excel.ApplicationClass(); xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); for (int i = 0; i < 800; i++) //h for (int j = 0; j < 1200; j++) xlWorkSheet.Cells[i+1,j+1] =indexMatrix[i][j]; xlWorkBook.SaveAs("C:\\a.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, […]

如何使用EPPlus在单元格内创build链接

我想弄清楚如何使用EPPlus代替包含链接文本的单元格在单元格内编写超链接。 我需要它被认为是一个链接,并可点击。 任何帮助表示赞赏。