Tag: c#

C#Excel Interop:如何格式化单元格以将值存储为文本

我从DataTable向Excel电子表格写入数字,如果数字本身长度小于5位数(例如395将存储为00395),所有这些数字都是5位数字,前面是0。 将这些数字inputExcel(使用C#)时,将它们存储为数字,并删除前面的0。 有没有什么办法可以格式化C#中的单元格,以便将值存储为文本而不是数字?

如何使用Excel的EPPlus库创build多级单元格

我使用EPPlus进行Excel文件生成。 我的意思是我需要将HTML文本(粗体,斜体,字体颜色,名称,大小参数)转换为Excel单元格。 我想它需要创build多样式的单元格,例如: 单元格文本是“你好!” 我想要的风格是: he – bold ll – italic o! – red colored font 或(更复杂) hello! – bold ll – italic (also bold) o! – red colored (also bold) 我知道MS OpenXML库(它允许我做我需要的)。 这是好的,但更复杂的实施库。

.Net Excel Interop删除工作表

我试图从一个.net c#3.5应用程序的Excel文档中使用interop Excel类(对于Excel 2003)删除一个工作表。 我尝试了很多东西: Worksheet worksheet = (Worksheet)workbook.Worksheets[1]; worksheet.Delete(); 这是行不通的,不会有任何错误…

如何知道Process.Start()是否成功?

我已经尝试了两种不同的方法来启动一个进程。 首先 定义被定义为Start方法的参数: System.Diagnostics.Process.Start("excel", string.Format("\"{0}\"", ExcelFileBox.Text.ToString())); 我的想法: 这个开始很好,但我不知道如何从中得到反馈。 第二 我开始研究ProcessStartInfo是因为我想知道Excel是否成功启动 – 例如,虽然它很可能存在于用户的机器上,但是不能保证,并且向用户指示它已启动是愚蠢的没有成功的时候。 System.Diagnostics.ProcessStartInfo startinfo = new System.Diagnostics.ProcessStartInfo { FileName = "excel", Arguments = string.Format("\"{0}\"", ExcelFileBox.Text.ToString()), ErrorDialog = true, UseShellExecute = false, WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) }; try { System.Diagnostics.Process.Start(startinfo); } catch (Exception err) { Console.WriteLine(err.Message); } 我的想法: 这给出了错误:“系统找不到指定的文件”,但不清楚它是指Excel应用程序还是我的文件。 无论如何,虽然我很欣赏错误信息的能力,但我现在不应该接受。 想法,build议,想法如何知道这是否成功? 解决了 我把启动一个进程的第一种方式变成了一个try-catch,它运行的很好。

即使Excel不精确,Excel如何成功地轮询浮动数字?

例如, 这个博客说0.005不是完全是0.005,而是四舍五入得出正确的结果。 我在我的C ++中尝试了各种Round,并且我没有将舍入数字舍去到某些小数位。 例如,Round(x,y)将x舍入为y的倍数。 所以轮(37.785,0.01)应该给你37.79而不是37.78。 我正在重新提出这个问题,要求社区寻求帮助。 问题在于浮点数的不精确性(37,785表示为37.78499999999)。 问题是Excel如何解决这个问题? 在这一轮的解决scheme()在C + +的浮动是不正确的上述问题。

如何打开在另一个应用程序中打开的文件

我有一个winforms应用程序加载在Excel文件进​​行分析。 目前,为了打开excel文件,文件不能在excel中打开,否则当我尝试加载文件时会抛出FileIOExceptionexception。 我想要做的是让我的应用程序读取文件,即使它是在Excel中打开,而不是强迫用户先closures工作表。 请注意,有问题的应用程序只需要读取文件,而不是写入。 这可能吗?

读取使用FileUpload Control上传的Excel文件,而不将其保存在服务器上

需要能够读取使用ASP.NET中的FileUploadControl上传的Excel文件。 该解决scheme将托pipe在服务器上。 我不想将Excel文件存储在服务器上。 我想直接将excel内容转换成数据集或数据表并利用。 下面是我已经find的两个解决scheme,但不会为我工作。 LINQTOEXCEL – 当你在本地机器上有一个excel文件,并且你正在本地机器上运行你的代码时,这种方法是有效的。 在我的情况下,用户正尝试使用托pipe在服务器上的网页从本地机器上传Excel文件。 ExcelDataReader – 我目前正在使用这个,但这是第三方工具。 我不能把这个移动到我们的客户。 另外,如果行/列交叉点正在携带一个公式,那么该行/列交集的数据不会被读入数据集。 我在google和StackOverflow上发现的大多数build议都是在Excel和.NET解决scheme都在同一台机器上时运行的。 但是在我的工作中,当解决scheme托pipe在服务器上时,我需要它来工作,并且用户正尝试使用本地机器上的托pipe网页来上传excel。 如果您有任何其他build议,可否请让我知道?

从Objective-C(iPhone)的Excel文件读取数据

我在谷歌search,但我似乎没有find一种方法来从Objective-C读取Excel文件。 我find的唯一答案是首先转换为CSV,然后作为文本文件读取,但我不想这样做。 我知道必须有一种方法,而我用PHP模块读取/写入Excel文件多次,所以我假设也有一个C库来做到这一点(然后可以在Objective-C / iPhone应用程序中使用) 所以…有没有人知道我可以在iPhone上使用这样一个库?

工作表get_Range抛出exception

我正在使用C#来操作Excel工作表。 下面的两段代码应该是一样的,但是一段可以工作,另一段则会抛出exception。 我想知道为什么。 这工作: oRange = (Excel.Range)oSheet.get_Range("A1","F1"); oRange.EntireColumn.AutoFit(); 这引发了一个exception: oRange = (Excel.Range)oSheet.get_Range(oSheet.Cells[1, 1],oSheet.Cells[4,4]); oRange.EntireColumn.AutoFit(); 例外: RuntimeBinderException occurred. "object" does not contain a definition for 'get_Range' oSheet实例化如下: Excel.Worksheet oSheet = new Excel.Worksheet(); 我应该以不同的方式实例化吗?

如何知道一个单元格在C#中的公式中是否有错误

在Excel公式中,可以使用=ISERR(A1)或=ISERROR(A1) 在VBAmacros中,您可以使用IsError(sheet.Cells(1, 1)) 但是使用VSTO Excel Addin项目,我没有在Microsoft.Office.Interop.Excel API下find类似的function。 我只想知道单元格中是否有错误,我对错误types并不感兴趣。 我目前的解决方法是为所有现有的错误消息做到这一点: if (((Range)sheet.Cells[1, 1]).Text == "#N/A" || …) 有一个更好的方法吗。 在API中有一个简单的函数吗?