草庐IT

Excel宏

全部标签

c# - 如何在将数据写入 Excel 时制作正确的日期格式

我正在使用officeinterop将DataTable导出到Excel文件。问题是,Excel本身不识别日期,而是显示数字。在另一种情况下,我传递一个字符串,然后将其识别为日期。在这两种情况下,数据都是困惑的。我尝试了NumberFormat@,它应该以文本格式存储单元格,但它也没有用。Applicationapp=newApplication();app.Visible=false;app.ScreenUpdating=false;app.DisplayAlerts=false;app.EnableAnimations=false;app.EnableAutoComplete=fa

c# - 如何获取excel表格中被占用单元格的范围

我使用C#来自动化excel文件。我能够得到工作簿及其包含的工作表。例如,如果我在sheet1中有两个列和5行。我想将占用单元格的范围设置为A1:B5。我尝试了以下代码,但没有给出正确的结果。#列和#行更大,单元格也为空。Excel.RangexlRange=excelWorksheet.UsedRange;intcol=xlRange.Columns.Count;introw=xlRange.Rows.Count;还有其他方法可以用来获得该范围吗? 最佳答案 我遇到了和你非常相似的问题。实际起作用的是:iTotalColumns=

c# - 将 Excel 工作表读入数据表的最佳/最快方法?

我希望这里有人能给我指出正确的方向——我正在尝试创建一个相当强大的实用程序来尽快将Excel工作表(可能是.xls或.xlsx)中的数据读入DataTable并且尽可能精简。我在VB中想出了这个例程(尽管我对一个好的C#答案同样满意):PublicSharedFunctionReadExcelIntoDataTable(ByValFileNameAsString,ByValSheetNameAsString)AsDataTableDimRetValAsNewDataTableDimstrConnStringAsStringstrConnString="Driver={Microsoft

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

接受int并返回包含一个或多个字母的字符串以用于Excel函数的最快的c#函数是什么?例如,1返回“A”,26返回“Z”,27返回“AA”等。这被调用了数万次,占用了生成包含许多公式的大型电子表格所需时间的25%。publicstringLetter(intintCol){intintFirstLetter=((intCol)/676)+64;intintSecondLetter=((intCol%676)/26)+64;intintThirdLetter=(intCol%26)+65;charFirstLetter=(intFirstLetter>64)?(char)intFirst

c# - 如何在单击按钮时立即将 dataGridView 数据导出到 Excel?

我的数据GridView中有10k行和15列。我想将此数据导出到Excel工作表或单击按钮。我已经尝试使用以下代码。privatevoidbtExport_Click(objectsender,EventArgse){Microsoft.Office.Interop.Excel._Applicationapp=newMicrosoft.Office.Interop.Excel.Application();Microsoft.Office.Interop.Excel._Workbookworkbook=app.Workbooks.Add(Type.Missing);Microsoft.O

c# - 使用 Open XML 从 Excel 到 C# 中的 DataTable

我使用的是VisualStudio2008,我需要使用OpenXMLSDK2.0从Excel工作表创建一个DataTable。我需要使用工作表第一行的DataTable列创建它,并使用其余值完成它。有没有人有示例代码或链接可以帮助我做到这一点? 最佳答案 我认为这应该可以满足您的要求。如果您有共享字符串,另一个功能只是用来处理,我假设您在列标题中这样做。不确定这是否完美,但我希望它有所帮助。staticvoidMain(string[]args){DataTabledt=newDataTable();using(Spreadshee

c# - 我们可以用 C# 为 Excel 编写宏吗

我必须在excel中遍历大约25张表才能进行操作。我正在使用vba进行操作并发现它非常慢,因此想知道我是否可以使用C#以及这样做是否可以帮助我加快流程。 最佳答案 像VBA宏一样从Excel工作簿调用C#-你不能从C#应用程序访问Excel工作簿-您可以。这称为MicrosoftVisualStudioToolsforOffice(VSTO) 关于c#-我们可以用C#为Excel编写宏吗,我们在StackOverflow上找到一个类似的问题: https://

c# - 一个简单的 C# DLL - 如何从 Excel、Access、VBA、VB6 调用它?

我有一个用C#编写的简单类库。usingSystem;namespaceTestDll{publicclassTest{publicstringHelloWorld{get{return"HelloWorld";}}}}我的问题是如何从MicrosoftOfficeVisualBasic(我认为是VB6)调用这个HelloWorld函数?我的第一步是添加DLL作为引用-但在浏览和选择已编译的DLL时显示消息“无法添加对指定文件的引用。”被抛出。谁能为我指出正确的方向,说明为什么/如何让它发挥作用?提前致谢! 最佳答案 您不能通过CO

c# - Microsoft.Office.Interop.Excel 真的很慢

我正在使用标准Microsoft.Office.Interop.Excel将1200X800矩阵(indexMatrix)导出到excel文件。该应用程序有效,只是它真的非常非常慢(即使对于100x100矩阵也是如此)。我还通过TextWriter导出文本文件,它几乎可以立即运行。有什么方法可以更快地导出到excel文件吗?这是我的代码:Excel.ApplicationxlApp=newExcel.Application();Excel.WorkbookxlWorkBook;Excel.WorksheetxlWorkSheet;objectmisValue=System.Reflec

c# - 使用 C# 中的 Open Xml SDK 将 DataTable 导出到 Excel

我的程序能够将一些数据和DataTable导出到Excel文件(模板)在模板中,我将数据插入到一些占位符中。它工作得很好,但我也需要插入一个数据表......我的示例代码:using(StreamOutStream=newMemoryStream()){//readteamplateusing(varfileStream=File.OpenRead(templatePath))fileStream.CopyTo(OutStream);//exportingExporting(OutStream);//tostartOutStream.Seek(0L,SeekOrigin.Begin);