Tag: excel interop

从System.IO.Stream中读取XLS文档

我正在实现一个有2个参数的接口: (System.IO.Stream input, System.IO.Stream output) 。 如果inputstream源于XLSX文件,我将使用DocumentFormat.OpenXml.Packaging.SpreadsheetDocument来读取文档。 如果是CSV , StreamReader.ReadLine()容易: StreamReader.ReadLine() 。 然而,stream来自XLS文件,我不太清楚如何正确读取它。 我试图找出是否Microsoft.Office.Interop.Excel可以读取stream,但我不知道这是可能的。 有什么办法来分析通过System.IO.Stream提供的XLS文件?

Excel interop在我的数字格式string中添加斜线

我试图设置一个数字格式(南非兰特货币,无小数),如下所示: range.NumberFormat = "_ R * # ##0_;"; range是Microsoft.Office.Interop.Excel.Rangetypes 但是,当我打开电子表格并通过select自定义格式检查格式化string时,string现在看起来像这样: _ \R * #\ ##0_; 而这些额外的斜杠意味着只有第一千个分隔符(一个空格)存在,其余的都不存在。 我也试过这个: range.NumberFormat = @"_ R * # ##0_;"; 我试过MSDN,但这个专业的文档读取像我乱七八糟: http : //msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.range.numberformat.aspx 但它做同样的事情。 任何人都知道如何防止这种情况发生?

在VB.Net面板中创buildExcel工作簿

我有一个VB.Net应用程序在我的窗体上的面板中打开Excel的问题。 我在.Net上是一个初学者,所以这个问题可能很简单,虽然我做了很多search,没有find解决办法。 当我在XP / Excel 2010机器上运行我的应用程序时,一切正常。 我在Win7 / Excel 2013机器上运行时遇到了这个问题。 我正在使用Microsoft Excel 15.0对象库,所以我认为这应该对Excel 2013有好处。 我的表单有两个button。 其中一个button打开一个现有的电子表格,另一个创build一个新的电子表格并添加一些格式。 在Win7 / Excel2013机器上运行应用程序时,我遇到了创build新电子表格的问题(顺便说一句,加载现有的电子表格工作正常,没有问题)。 代码将打开一个新的电子表格,将其embedded到面板中,然后完成格式化。 当这样做完成后,我无法更改电子表格中的单元格。 这几乎就好像被完全locking了一样。 在逐步执行代码时,我可以看到,当代码行设置oSheet的值时,就会开始执行此行为。 这是我的代码,切出了很多不适用于这个问题的东西。 Imports Microsoft.Office.Interop Imports Microsoft.Office.Interop.Excel Imports Microsoft.Office Imports Microsoft.Office.Core Dim oExcel As New Excel.Application Dim oWB As Excel.Workbook Dim WithEvents oSheet As Excel.Worksheet Private Sub btnNewConfig_Click(sender As Object, e As EventArgs) Handles […]

C#VSTO – 使用String.Empty检查单元格是否为空

我inheritance了一个基于C#的VSTO项目,从电子表格中读取大量数据,然后进行处理。 代码中的很多地方我看到以下内容: (((Excel.Range)sheet.Cells[rowIndex, columnIndex]).Value2 != null && ((Excel.Range)sheet.Cells[rowIndex, columnIndex]).Value2.ToString().Length > 0) 这个代码片段检查一个单元格是否包含一个值,然后复制出正确的值。 但不会检查String.Empty在一行而不是两行相同,还是有的情况下,尽pipe在单元格中的值将失败?

在文本框中的文本的某个部分应用字体

我试图使一个文本框中的文本的一部分粗体文本的其余部分保持正常。文本框是在Excel中,当然,我用这个代码来创build它。 Microsoft.Office.Interop.Excel.Shape t1 = ws.Shapes.AddTextbox(Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal, 20, 15, 200, 77); 我试图通过添加html标签来做到这一点,但它接缝没用,因为他们只是正常的文本行为。 我感谢一些帮助谢谢;

用c#加载excel表单

首先,我对我的文章中的错误表示歉意,英语不是我的母语,我尽我所能。 我是一个非常初学的编程人员,我对加载Excel表格有一些疑问。 我正在尝试在C#中使用VB做一个项目,我必须加载一个已经存在的Excel表格,并在其中写入。 我发现了一些解释,帮助我创build一个新工作表并写入: private void button1_Click(object sender, System.EventArgs e) { Excel.Application oXL; Excel._Workbook oWB; Excel._Worksheet oSheet; Excel.Range oRng; try { oXL = new Excel.Application("Exemple.xlsx"); oXL.Visible = true; oWB = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value)); oSheet = (Excel._Worksheet)oWB.ActiveSheet; oSheet.Cells[1, 1] = "First Name"; oSheet.Cells[1, 2] = "Last Name"; oSheet.Cells[1, 3] = "Full Name"; oSheet.get_Range("A1", "C1").Font.Bold = true; oSheet.get_Range("A1", "C1").VerticalAlignment […]

优化c#excel读取/写入文件

所以我有大约2200行 ,我需要读取和写入到一个TXT文件这个Excel,问题是,它需要太多的时间,我被告知读/写文件通常需要时间,因为这是自然 ,所以我试着只读一次的Excel文件,使用一个stringBuilder和每行写(还没有尝试存储所有的文本和写入整个.txt文件) 但是,有什么办法可以加快速度? select较小的范围,如只有一行? 用\ n作为换行符来填充一个巨大的string,然后写所有的.txt文件? 这是我的代码示例 using Excel = Microsoft.Office.Interop.Excel; […] xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Open("C:/Users/MyUser/Desktop/SomeFolder/my_excel.xlsx", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); Excel.Range allRange = xlWorkSheet.UsedRange; try { System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\test.txt"); String line = ""; //StringBuilder line; for […]

Excel互操作旋转3d饼图

有谁知道如何改变Y轴上的默认angular度旋转? 我已经试图chartObj.Chart.Rotation,但它不会改变什么? 我使用的图表types是3dPieExploded。 谢谢,弗洛林

如何在xlLine ChartType中使用Y轴的string值

我需要使用excel.interop生成一些折线图,我想为Y轴值设置文本。 Dictionary<string, int> data = new Dictionary<string, int>(); data.Add("abc", 1); data.Add("def", 2); data.Add("ghi", 3); data.Add("jkl", 4); data.Add("mno", 5); var application = new excel.Application(); var workbook = application.Workbooks.Open(docName); var worksheet = workbook.Worksheets[1] as excel.Worksheet; var charts = worksheet.ChartObjects() as excel.ChartObjects; var chartObject = charts.Add(60, 10, 300, 300); var chart = chartObject.Chart; chart.ChartType = excel.XlChartType.xlLine; chart.Location(excel.XlChartLocation.xlLocationAsObject, worksheetName); […]

无法运行macrosxx。 可能在此工作簿中不可用,或者所有macros都被禁用

我正试图执行下面的代码 const string excelFile = @"C:\test.xls"; var excelApplication = new ExcelInterop.Application { Visible = true }; var targetExcelFile = excelApplication.Workbooks.Open(excelFile, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); var newStandardModule = targetExcelFile.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule); var codeModule = newStandardModule.CodeModule; // add vba code to module var lineNum = codeModule.CountOfLines + 1; var […]