Tag: .net

如何从PowerShell自动化打开Excel工作簿

我想打开一个Excel工作簿,读出数据,做其他types的操作等。我知道我必须添加一个程序集引用: [Reflection.Assembly]::LoadFile("C:\Program Files\Microsoft Office\Office16\ADDINS\Microsoft Power Query for Excel Integrated\bin\Microsoft.Office.Interop.Excel.dll") 然后我需要实例化一个Application对象。 $workbook = New-Object -TypeName Microsoft.Office.Interop.Excel.Application 然而这个返回错误“没有find构造函数”是不是顺便说一下Microsoft.Office.Interop.Excel.Application的一个接口呢? 我想知道如何在这种情况下实例化。

c#Oledb在foreach循环中添加参数列表

我写了一个用OleDb创buildexcel文件的应用程序,问题是当程序运行一个foreach循环时,它总是在行中写入相同的数据,而不是循环中对象的不同值。 代码是: foreach(var user in userList) { cmd.CommandText = @"INSERT INTO [User](Id , Name , Code, Username, Location, CompanyCode, MyDate, Email, MyNote) VALUES(@Id, @Name, @Code, @Username, @Location)"; cmd.Parameters.AddRange(new OleDbParameter[] { new OleDbParameter{ ParameterName = "@Id", Value = user.ID}, new OleDbParameter{ ParameterName = "@Name", Value = user.NAME ?? string.Empty}, new OleDbParameter{ ParameterName = "@Code", Value = […]

保存为PDF使用ClosedXML

ClosedXML是否有可用于将Excel文件另存为PDF的function? 目前我正在使用ClosedXML创build和填充Excel文件,然后使用Interop保存为PDF。 但是由于Interop依赖于安装在系统上的MS Office,所以每个MS Office版本的格式都会发生变化。 而且,由于ClosedXML不需要安装MS Office,所以能够直接从它导出或保存为PDF,而不使用Interops。

用Excel复制/粘贴Excel中的单元格

如何selectExcel文件中的特定用户范围并复制这些单元格并插入复制的单元格Shift:=xlDown使用C#的Shift:=xlDown 。 这是我需要转换成C#的VBA代码: Range("A9:L9").Select Selection.Copy Rows("10:10").Select Selection.Insert Shift:=xlDown Range("F10").Select 我不知道如何将这个代码转换成C#代码来运行。

在C#中更快的Excel文件访问

我的C#应用​​程序从excel文件中获取大量数据并处理,然后将其写回到文件中。 问题是从Excel文件加载数据时,需要一些时间(大约7000字段的Excel需要30秒) 我想让它变得更快,有没有什么方法可以使它在更长的时间内更快? 我用来获取数据的代码是: streamReader = new StreamReader(@"ExcelPath.txt"); string path = streamReader.ReadLine(); //An Excel Application ==(contains)==> [Many] Excel WorkBook ==(contains)==>[Many] Excel WorkSheets==(contains)==>[Many] Ranges Microsoft.Office.Interop.Excel.Application excelapp = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook myworkbook = excelapp.Workbooks.Open(path, 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true); Microsoft.Office.Interop.Excel.Sheets myworksheets = myworkbook.Worksheets; Microsoft.Office.Interop.Excel.Worksheet myworksheet =myworksheets.get_Item(1); Microsoft.Office.Interop.Excel.Range range = myworksheet.UsedRange; […]

如何读取C#中的WK3文件?

我需要阅读几百wk3文件(Lotus 3工作表)。 有没有办法通过C#阅读而不使用Excel? 谢谢!

SQL批量插入不正确地插入值到表中

我有一个Excel文件(.xlsx),我试图将文件的内容上传到Sql服务器表中。 Iam使用SQL批量复制批量插入数据。 数据被插入到表中,但是我发现数据没有正确插入。 这里是示例Excel数据 – 这是Sql批量复制的代码: string fname = Path.GetFileName(fup_addRoute.FileName); fup_addRoute.SaveAs(Server.MapPath("/Admin/UserRoutes/" + fname)); string path = Server.MapPath("/Admin/UserRoutes/" + fname); using (OleDbConnection connection = new OleDbConnection(string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 8.0", path))) { OleDbCommand command = new OleDbCommand("select * from [Sheet1$]", connection); connection.Open(); System.Data.Common.DbDataReader dr = command.ExecuteReader(); SqlBulkCopy bulkInsert = new SqlBulkCopy(con); bulkInsert.DestinationTableName = "routesdata"; bulkInsert.WriteToServer(dr); connection.Close(); dr.Close(); […]

StreamReader和StreamWriter与Excel

我需要一些指导。 我正在阅读使用StreamReader的Excel文件,然后使用StreamReader.ReadToEnd()获取文件到一个string ; 方法。 然后使用StreamWriter.Write()方法将string写入文件系统上的其他位置。 然后我从前面写的位置重新读取文件。 但是,似乎我正在阅读一些垃圾值,我不能打开新位置的Excel文件… 我在这里做错了文件被损坏? 我在这里错过了什么与编码?

parsingexcel文件的最佳做法

我在parsingexcel文件时遇到了一个问题。 我的文件有超过5000行。 当我parsing它的时候,我想问一下这个问题是否有更好的解决方法。 public static List<List<List<string>>> ExtractData(string filePath) { List<List<List<string>>> Allwork = new List<List<List<string>>>(); Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook workBook = excelApp.Workbooks.Open(filePath); foreach (Microsoft.Office.Interop.Excel.Worksheet sheet in workBook.Worksheets) { List<List<string>> Sheet = new List<List<string>>(); Microsoft.Office.Interop.Excel.Range usedRange = sheet.UsedRange; //Iterate the rows in the used range foreach (Microsoft.Office.Interop.Excel.Range row in usedRange.Rows) { List<string> Rows = new […]

Winformsselect文件名保存文件

我有一些数据,我想出口到Excel。 我做了所有的代码,一切工作正常,现在我想将该文件保存到硬盘驱动器。 我也可以这样做。 但我的问题是,我不知道如何让客户设置他/她自己的文件名。 我曾经尝试过: FolderBrowserDialog brwsr = new FolderBrowserDialog(); //Check to see if the user clicked the cancel button if (brwsr.ShowDialog() == DialogResult.Cancel) return; else { string newDirectoryPath = brwsr.SelectedPath; //Do whatever with the new path } 该方法的问题在于允许用户select要将文件保存到的文件夹。 我想让所有的用户指定path和文件名。 任何想法帮助认罪? 非常感谢