Tag: 互操作

在Excel中突出显示单元格/使其变成粗体

在一个小组项目中,我必须写一个表格到一个Excel工作表。 我已经完成了,但是我需要突出显示数据所在的表格区域,可以在这些图片中看到: https://gyazo.com/51c57897d9a1ce8df000d6ff0f18de20 https://gyazo.com/bcc879cd7d1c5f12ccb853490dca22f2 第一张图片显示了它应该看起来没有数据,第二张图片显示了我的当前文件加载的数据。 是否有可能突出显示在数据应该是第一张图片? 我一直没有能够find任何来源处理这个在线。 这是创buildExcel工作表的代码。 请注意,我没有正确的格式化代码,但它应该是可读的: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ExcelLibrary.SpreadSheet; using System.Data; using System.IO; using System.Windows; using Excel = Microsoft.Office.Interop.Excel; namespace ProjectXstaal { class Print { public void LoadToExcel(DataTable dt) { string filetest = "filetest.xlsx"; double allHours = 0; double overtimeHours = 0; if […]

closuresexcel文件的方法之间的差异

我一直在使用一些function,现在我真的想知道,它们之间有什么区别。 我知道, xlWorkbook.Close(0)closures文件, xlAppQuit(); 退出Excel应用程序,并Marshal.ReleaseComObject(xlWorkbook); 清理 – 释放COM对象。 但是这在实践中意味着什么呢? 我无法想象其中的差异。 前两个让我的任务pipe理器中的excel进程消失(那么如何closures一个工作簿不同于退出,如果他们都杀死了Excel进程?),最后一个不是。

以编程方式将所有Excel单元格的单元格格式更改为常规

作为ETL过程的一部分,我将数据从各种不同的Excel文件导入数据库。 在这之前,我需要能够将Excel工作表中所有单元格的单元格格式更改为“常规”格式。 我已经开始了,但是恐怕在这之后我不知道如何进步: using Excel = Microsoft.Office.Interop.Excel; . . . String FilePath = "Code to get file location from database" String SheetName = "Code to get SheetName from database" Excel.Application MyApp = new Excel.Application(); MyApp.Visible = false; Excel.Workbook myWorkbook = MyApp.Workbooks.Open(FilePath,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); //Code here to convert […]

CSV到Excel文件?

我很好奇社区认为什么是最简单的方法来获取CSV文件和“另存为”一个Excel文档,只有一些公式粘贴? 我正在试图在幕后做到这一点,而不是物理导航。 例如打开,select另存为等 – 即使这已经非常简单,我**需要在代码(Think自动化) 背景:我有一个生成.csv的c ++命令行程序和一个启动这个过程的C#GUI。 任何一个程序都可以容纳代码,但是我认为这在C#(InterOp?)中是最简单的。我不直接发送代码到csv的原因是由于逗号字符数量太多,会混淆csv,因为其他的Excel文档需要参考工作表,所以他们需要在.xls格式。 =AVERAGE(C2:C999) =COUNTIFS(C:C,">0",C:C,"<31") =COUNTIFS(C:C,">31",C:C,"<55") =COUNTIF(C:C,">55")

保存一个excel工作簿C#

我忙于使用C#应用程序操纵Excel数据的应用程序。 xlApp = new Excel.Application(); xlWorkbook = xlApp.Workbooks.Open(ConString, 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); 直到这一点,我已经保存了工作簿,只需简单地说“xlApp.Quit”,就会出现从任何Microsoft Office产品中获得的标准“您想保存更改”对话框。 然而,我正在保存的工作簿数据有问题,所以我被告知使用Workbook.Save方法。 现在它保存了正确的数据,但我无法指定文件名/位置。 我读了关于.SaveCopyAs方法,我正在使用保存文件对话框来提供文件名/位置,但是当我保存并closures应用程序没有find文件。 这是Savefile方法。 private void SaveFile() { using (SaveFileDialog Save = new SaveFileDialog()) { Save.Filter = "Excel Files (*.xlsx)|*.xlsx"; Save.InitialDirectory = "C:"; Save.Title = "Save"; if (Save.ShowDialog() […]

是否可以在程序中多次使用interop打开相同的工作簿和工作表?

我正在使用Excel Interop命令来打开工作簿/工作表来阅读和打印。 我有一个印刷和一个阅读class,我有两个class开放的工作簿。 读类打开它就好了,但是当我尝试在打印类中打开工作簿时,我得到一个空指针exception。 我是否允许两次打开相同的工作簿,或者我应该只做一次,并将其作为parameter passing给打印类?

如何改变Excel数据标签的背景颜色使用C#

我正在尝试改变使用C#的Excel 数据标签的形状。 但是我坚持互操作填充属性 。 根本无法理解如何使用它,以及如何使用它来更改数据标签的形状。 如果有人有任何想法请帮助。 您的帮助将不胜感激。 我在折线图中使用它。 我到目前为止尝试过, System.Collections.IEnumerator iEChartSeries = seriesCollection.GetEnumerator(); if(iEChartSeries.MoveNext()){ var oSeries = (Excel.Series)(iEChartSeries.Current); Excel.Points pts = (Excel.Points) oSeries.Points(Type.Missing); System.Collections.IEnumerator iPoints = pts.GetEnumerator(); while(iPoints.MoveNext()) { var pt = (Excel.Point)(iPoints.Current); pt.HasDataLabel = true; pt.DataLabel.Position = Excel.XlDataLabelPosition.xlLabelPositionAbove; pt.DataLabel.Font.Name = "Arial"; pt.DataLabel.Font.FontStyle = "Bold"; pt.DataLabel.Font.Size = 8; pt.DataLabel.Text = "N"; pt.DataLabel.Fill = ????;//here I […]

C#Excel交互快速合并单元格

我想合并单元格,并多次执行它…我使用这个合并它的原因,因为我想要更多的一个表。 和每个表的不同数量的列和另一个列的不同大小…合并的数量和地点是未知的 using Microsoft.Office.Interop.Excel; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp111 { class Program { static void Main(string[] args) { string x = @"C:\Users\hed-b\source\repos\TESTUserFormFromExcel\ConsoleApp111\bin\Debug\TEST.xltm"; Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application { DisplayAlerts = false, Visible = false, ScreenUpdating = false, }; Workbook wb = xlApp.Workbooks.Open(x); Worksheet ws = (Worksheet)wb.Worksheets[1]; […]

在Word中改变图表的数据源c#

我正试图创build一个文字文件,在那里我想有一个图表。 为此,我有 doc.InlineShapes.AddChart(Microsoft.Office.Core.XlChartType.xlCylinderCol, ref oRange); 但是,打开Excel,从某种默认数据源读取数据,然后再closures。 我如何控制这个图表并select数据源和轴上的标签?

用vba代码打开Excel工作簿 – 错误通知VSTO

我想从我的C#代码打开一个Excel文件。 workBook = workBooks.Open(fileName, //filename 0, //updatelinks true, //readonly 5, //format "", //password "", //WriteResPassword true, //IgnoreReadOnlyRecommended XlPlatform.xlWindows, //Origin "\t", //Delimiter false, //Editable false, //Notify 0, //Converter true, //AddToMru 1, //Local 0); //CorruptLoad 我看到代码挂在workBooks.Open如果Excel中有一些错误。 我已经保持显示属性为true,那是当我注意到在Excel中有一个错误。 在进一步的调查中,我得知这个错误是由于某些vba代码在excel中失败而引起的。 我的要求是如何让我的C#代码被通知这个,所以它可以忽略文件内的错误或忽略文件本身?