Tag: c#

如何获得Excel表格中占用的单元格的范围

我使用C#来自动化一个Excel文件。 我能够获得工作簿和它包含的工作表。 如果例如我在sheet1中有两列和五列。 我想要得到被占用的单元格的范围为A1:B5。 我试了下面的代码,但没有给出正确的结果。 列#和行#更大,单元也是空的。 Excel.Range xlRange = excelWorksheet.UsedRange; int col = xlRange.Columns.Count; int row = xlRange.Rows.Count; 有另一种方法可以用来获得这个范围吗?

如何引用Microsoft.Office.Interop.Excel DLL?

我已经开发了一个系统,在2006年使用MS VS 2005处理Excel表。现在,我不能使用与MS VS 2012相同的参考。 var app = new Microsoft.Office.Interop.Excel.Application(); Workbooks wbs = app.Workbooks;

导出数据表到Excel文件

我有一个DataTable 30 +列和6500 + rows.I需要转储整个DataTable值到一个Excel文件。任何人都可以请帮助与C#代码。我需要每个列的值在一个单元格。准确地说,我需要在Excel文件中的DataTable的确切外观副本。请帮助。 谢谢,Vix

在C#中生成Excel列字母的最快函数

什么是最快的C#函数和int,并返回一个string包含一个或多个字母在Excel函数中使用? 例如,1返回“A”,26返回“Z”,27返回“AA”等。 这被称为成千上万次,并且需要25%的时间来生成具有许多公式的大型电子表格。 public string Letter(int intCol) { int intFirstLetter = ((intCol) / 676) + 64; int intSecondLetter = ((intCol % 676) / 26) + 64; int intThirdLetter = (intCol % 26) + 65; char FirstLetter = (intFirstLetter > 64) ? (char)intFirstLetter : ' '; char SecondLetter = (intSecondLetter > 64) ? (char)intSecondLetter : ' […]

一个简单的C#DLL – 我如何从Excel,Access,VBA,VB6中调用它?

我有一个简单的类库用C#编写。 using System; namespace TestDll { public class Test { public string HelloWorld { get { return "Hello World"; } } } } 我的问题是如何从Microsoft Office Visual Basic(我认为是VB6)调用这个HelloWorld函数? 我的第一步是添加DLL作为参考 – 但在浏览和select编译的DLL消息“无法添加对指定文件的引用”。 被抛出 任何人都可以指出我正确的方向为什么/如何得到这个工作? 在此先感谢!

OpenXML电子表格中的单元格样式(SpreadsheetML)

我已经使用OpenXML SDK在C#中生成了一个.xlsx电子表格,但不知道如何获取单元格样式。 我一直在研究由Excel生成的文件,并不能完全弄清楚它是如何完成的。 现在,我创build一个填充,创build一个指向填充的CellFormat ,创build一个CellFormat索引的CellStyleFormat ,然后创build一个CellStyle的CellFormat 。 以下是我用来生成文档的代码: Console.WriteLine("Creating document"); using (var spreadsheet = SpreadsheetDocument.Create("output.xlsx", SpreadsheetDocumentType.Workbook)) { Console.WriteLine("Creating workbook"); spreadsheet.AddWorkbookPart(); spreadsheet.WorkbookPart.Workbook = new Workbook(); Console.WriteLine("Creating worksheet"); var wsPart = spreadsheet.WorkbookPart.AddNewPart<WorksheetPart>(); wsPart.Worksheet = new Worksheet(); var stylesPart = spreadsheet.WorkbookPart.AddNewPart<WorkbookStylesPart>(); stylesPart.Stylesheet = new Stylesheet(); stylesPart.Stylesheet.Fills = new Fills(); // create a solid red fill var solidRed = […]

使用带有MemoryStream的EPPlus

我正在使用EPPlus在C#中生成XLSX文件。 只要我用一个内存stream实例化ExcelPackage – 我得到的错误: “在写入操作期间发生磁盘错误(从HRESULTexception:0x8003001D(STG_E_WRITEFAULT))” 代码是: MemoryStream stream = new MemoryStream(); using (ExcelPackage package = new ExcelPackage(stream)) { … } 有没有人看过这个?

读取date时间值从Excel工作表中读取

当我试图从Excel表格中读取date时间types值时,它将返回一个double值。例如,如果想要读取这样的值'2007-02-19 14:11:45.730' ,那么我会得到一个doubletypes的值。我使用时间跨度转换这个双重价值,但没有成功完成,因为我只得到这个值'2007-02-19 12:00:00 AM' 现在我想要第一个完全相同的date时间值。 我的代码是这样的: – TimeSpan datefromexcel = new TimeSpan(Convert.ToInt32((range.Cells[rCnt, cCnt] as Excel.Range).Value2), 0, 0, 0); DateTime inputdate = new DateTime(1900, 1, 1).Add(datefromexcel); arrrow2[cCnt – 1] = inputdate.ToString(); 请帮忙!!! 谢谢。

Excel互操作:_Worksheet或工作表?

我目前正在写关于dynamictypes,我给一个Excel互操作的例子。 我之前几乎没有做任何Office互操作,而且它显示。 C#4的MSDN Office Interop教程使用_Worksheet界面,但也有一个Worksheet界面。 我不知道有什么不同。 在我的荒谬简单的演示应用程序(如下所示)或者正常工作 – 但如果最好的做法决定一个或另一个,我宁愿使用它适当。 using System; using System.Linq; using Excel = Microsoft.Office.Interop.Excel; class DynamicExcel { static void Main() { var app = new Excel.Application { Visible = true }; app.Workbooks.Add(); // Can use Excel._Worksheet instead here. Which is better? Excel.Worksheet workSheet = app.ActiveSheet; Excel.Range start = workSheet.Cells[1, 1]; Excel.Range end […]