Tag: .net

如何在Excel和DataGridView组件之间实现复制/粘贴行为?

我如何完成能够将数据从Excel粘贴到DataGridView中,反之亦然?

从Excel应用程序对象中查找位(32位/ 64位)?

是否有可能确定Excel是否从Microsoft.Office.Interop.Excel.ApplicationClass运行在32位或64位? 编辑 该解决scheme适用于Excel 2010和Excel 2007

C#从excel文件读取数据结果在###

我用这个代码从Excel文件中读取数据 Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; Microsoft.Office.Interop.Excel.Range range; int rCnt = 0; int cCnt = 0; string[,] data; xlWorkSheet = (Worksheet)wb.Worksheets.get_Item(sheetId); range = xlWorkSheet.UsedRange; data = new string[range.Rows.Count, range.Columns.Count]; for (rCnt = 1; rCnt <= range.Rows.Count; rCnt++) { for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++) { data[rCnt – 1, cCnt – 1] = (string) (range.Cells[rCnt, cCnt] as […]

解决“Microsoft.ACE.OLEDB.12.0”提供程序问题,而不安装“Microsoft Access数据库引擎”

我从MS-Excel导入一些数据到C#。 当我在本地服务器(IIS 7)上部署此应用程序时,出现以下错误。 “Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册 我在本地服务器上安装了“Microsoft Access数据库引擎”来解决这个问题。 现在当我在远程服务器上部署我的应用程序。 我有同样的错误。 出于安全原因,不允许在实时服务器上安装“Microsoft Access数据库引擎”。 我的问题是有什么办法解决这个问题从.dll(添加一些参考项目)或任何其他方式。

C#Excel文件OLEDB读取HTML IMPORT

我必须为金融部门自动化一些东西。 我有一个Excel文件,我想阅读使用OleDb: string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=A_File.xls;Extended Properties=""HTML Import;IMEX=1;"""; using (OleDbConnection connection = new OleDbConnection()) { using (DbCommand command = connection.CreateCommand()) { connection.ConnectionString = connectionString; connection.Open(); DataTable dtSchema = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); if( (null == dtSchema) || ( dtSchema.Rows.Count <= 0 ) ) { //raise exception if needed } command.CommandText = "SELECT * FROM [NameOfTheWorksheet$]"; using […]

如何使用OpenXML SDK将Excel转换为CSV?

我有要求将Excel(2010)文件转换为csv。 目前我使用Excel Interop来打开和SaveAs csv,效果很好。 但是,Interop在我们使用它的环境中存在一些问题,所以我正在寻找另一个解决scheme。 我发现在不使用interop的情况下使用Excel文件的方式是使用OpenXML SDK。 我得到了一些代码,以通过每张表中的所有单元格,并简单地将它们写入另一个CSV文件。 我有一个问题是处理空白行和单元格。 看来,用这个代码,空行和单元格是完全不存在的,所以我没有办法知道它们。 是否有通过所有行和单元格,包括空白? string filename = @"D:\test.xlsx"; string outputDir = Path.GetDirectoryName(filename); //——————————————————– using (SpreadsheetDocument document = SpreadsheetDocument.Open(filename, false)) { foreach (Sheet sheet in document.WorkbookPart.Workbook.Descendants<Sheet>()) { WorksheetPart worksheetPart = (WorksheetPart) document.WorkbookPart.GetPartById(sheet.Id); Worksheet worksheet = worksheetPart.Worksheet; SharedStringTablePart shareStringPart = document.WorkbookPart.GetPartsOfType<SharedStringTablePart>().First(); SharedStringItem[] items = shareStringPart.SharedStringTable.Elements<SharedStringItem>().ToArray(); // Create a new filename […]

如何使用C#获取上传的Excel文件的sheetname?

我想使用C#代码获取上传的Excel文件的表名。 该文件可能是.xls或.xlsx格式。 我所使用的守则如下: protected void btnGenerateCSV_Click(object sender, EventArgs e) { string sourceFile = ExcelFileUpload.PostedFile.FileName; string worksheetName = ??? (How to get the first sheetname of the uploaded file) string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sourceFile + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\""; if (sourceFile.Contains(".xlsx")) strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sourceFile + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\""; try { conn = […]

为什么在这个例子中追加AutoFilter会破坏我的excel文件?

您好我使用下面的方法来应用自动filter: public static void ApplyAutofilter(string fileName, string sheetName, string reference) { using (SpreadsheetDocument document = SpreadsheetDocument.Open(fileName, true)) { IEnumerable<Sheet> sheets = document.WorkbookPart.Workbook.GetFirstChild<Sheets>().Elements<Sheet>().Where(s => s.Name == sheetName); var arrSheets = sheets as Sheet[] ?? sheets.ToArray(); string relationshipId = arrSheets.First().Id.Value; var worksheetPart = (WorksheetPart)document.WorkbookPart.GetPartById(relationshipId); var autoFilter = new AutoFilter() { Reference = reference }; worksheetPart.Worksheet.Append(autoFilter); worksheetPart.Worksheet.Save(); } […]

用C#写作和阅读excel文件

我正在写一个程序,通过selenium web驱动程序从一个网站获取数据。 我正在努力为我们的项目创造足球装备。 我到目前为止,我完成了从网站上的date和时间,队名和得分 。 也仍然试图在txt文件上写,但是在txt文件上写的时候会变得杂乱 我如何完成excel文件的写作和阅读? 我想这样写 Date-Time First-Team Second-Team Score Statistics 28/07 19:00 AM AVB 2-1 Shot 13123 Pass 65465 … 28/07 20:00 BM BVB 2-2 Shot 13123 Pass 65465 … 28/07 20:00 CM CVB 2-3 Shot 13123 Pass 65465 … 这是我的代码的一部分: StreamWriter file = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Test" + "\\" + pathName […]

在Excel 2003中使用WCF?

有谁知道或可以find一些示例代码显示如何使用Excel 2003调用WCF服务?