Tag: ado.net

C#使用oledb读取excel数据并以指定格式格式化并插入到SQL Server数据库中

networking和C#。 我需要编写一个程序来浏览和读取一个Excel,然后parsing它以指定的格式,最后插入到SQL Server数据库。 我已经使用oledb读取excel,并从excel创buildDataTable。 现在我有麻烦来parsing它在所需的格式。 这里是什么是Excelinput的图片链接,以及什么是预期的格式插入到数据库。 input和预期的输出格式 现在我正在用简单的数据在将来我需要做的大型Excel数据(3000列)parsing成250000条logging。 在性能方面也请给我build议。 现在我使用oledb是好的,还是我需要使用其他任何东西。 这里是我的示例代码C#代码文件 OleDbConnection Econ; SqlConnection con; string constr, Query, sqlconn; protected void Page_Load(object sender, EventArgs e) { } // excel connection private void ExcelConn(string FilePath) { constr = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES;""", FilePath); Econ = new OleDbConnection(constr); } // sql connection private void connection() { […]

如何在导入Excel中select以哪个行开头的数据库

当我从Excel导入数据到数据库的代码从第一行开始,它应该从第二行开始 MaamoonKhalidIssueEntities db = new MaamoonKhalidIssueEntities(); DataTable table = result.Tables[1]; foreach (DataRow dr in table.Rows) { string input = Convert.ToString(dr[0]); var reg = new Regex(pattern2, RegexOptions.IgnoreCase); Match match = reg.Match(input); string input2 = Convert.ToString(dr[1]); var reg2 = new Regex(pattern, RegexOptions.IgnoreCase); Match match2 = reg2.Match(input2); if (match.Success && match2.Success) { Person addtable = new Person() { […]

我的代码读取Excel文件错误

我正在使用VSTS 2008 + C#+ .Net 3.5来读取由Excel 2007创build的Excel文件(但保存为Excel 2003 xls格式)。 这是我的代码,执行代码adapter.Fill(城市)时,有例外 – “OldDbException无法find可安装的ISAM”。 任何想法有什么不对? static void Main(string[] args) { string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\temp\data.xls;ExtendedProperties=""Excel 8.0;HDR=YES;"""; DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb"); DbDataAdapter adapter = factory.CreateDataAdapter(); DbCommand selectCommand = factory.CreateCommand(); selectCommand.CommandText = "SELECT ID FROM [Sheet1$]"; DbConnection connection = factory.CreateConnection(); connection.ConnectionString = connectionString; selectCommand.Connection = connection; adapter.SelectCommand = selectCommand; […]

Excel的只读ADO.NET连接string

我试图阻止使用ADO.NET读取Excel文件时出现以下情况: Microsoft Jet数据库引擎无法打开文件“”。 它已经由另一个用户专门打开,或者您需要查看其数据的权限。 我知道这是因为另一个用户打开了文件,但我无法摆脱它。 我试过添加Read Only=True; 到我的连接string,但这是行不通的。 我也试图设置连接Mode为只读,但我不知道如何在C#中。 这是我的连接string: Provider=Microsoft.Jet.OLEDB.4.0; data source=test.xls; Extended Properties="Excel 8.0;HDR=No;IMEX=1" 谢谢您的帮助!

使用C#根据Excel检索列名

我正在使用MS Excel作为我的数据源。 我在工作簿中有一张桌子。 当我从表中检索数据时,我需要根据MS Excel的列名(例如A,B,C,… AA,AB …等等)。 有什么办法可以实现吗? 请指导我

如何将DataTable插入(绑定)到Excel工作簿(VS Excel 2010工作簿项目)

我有WCF Service作为DataTabletypes返回数据。 我想将这些数据插入到Workbook_Startup事件中的Excel工作簿中。 什么是最好的办法呢? (VS .NET 3.5 Excel 2010工作簿项目) WCF服务代码: public DataTable GetQuarterTargetAchievement() { var dt = new DataTable("TargetAchievement"); using (var conn = new SqlConnection(GetConnectionString())) { using (var da = new SqlDataAdapter("SELECT fld1, fld2, … , fldN FROM dbo.ReportTable; ", conn)) { da.Fill(dt); } } return dt; } 客户代码: var dt = proxy.GetQuarterTargetAchievement();

将Excel文件读入.NET应用程序的更快的方法是:ADO.net或Microsoft.Office.Interop.Excel.Application?

我正在阅读一个非常大的Excel文件到一个VB.net应用程序。 用户在运行时从文件select器指定文件。 我目前正在使用Microsoft.Office.Interop.Excel.Application应用程序接口逐行读取Excel数据。 喜欢这个… first = Excel.Cells(rowindex, FirstColumnIndex).value 我需要读取大的Excel文件(80000行),当前的方法需要很长时间。 我想知道如果有更快的方法。 我知道可以使用ADO.net读取文件。 这是否更快? 有更快的方法吗? 注意显然,将这​​么多的数据保存在一个Excel文件中是不知道的,但是这就是我需要的数据(其他地方的一些数据)被存储的地方。

如何查询使用OLEDB在内存中的Excel数据?

我有一个网页上的file upload控制。 用户将上传Excel文件,并在我的代码中,首先我将Excel文件保存到磁盘,然后用OLEDB连接打开它,做我的东西。 我的问题是:是否有避免将此文件保存到磁盘?

有没有一种快速的方法来获取使用ADO.Net的Excel工作表中的行数?

有没有比这更好的方法 string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<xlxsName>;Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;ReadOnly=True\""; string sql = string.Format("SELECT COUNT (*) FROM [{0}] ", worksheetName); using (OleDbConnection conn = new OleDbConnection(connectionString)) { OleDbCommand cmd = new OleDbCommand(sql, conn); conn.Open(); totalCount = (int)cmd.ExecuteScalar(); conn.Close(); } 从Excel表中获得行计数? 如果可能的话,我宁愿使用ADO.Net而不是Excel互操作

无需打开excel文件即可读取数据

我有一个数据存储在Excel数据库列中的软件是Product_ID和Description 。 我已经包含了searchfunction,显示基于Product_ID结果。 问题是只有当Excel文件打开时才检索数据,但是我想在不打开Excel文件的情况下读取数据。 有没有办法做到这一点? 我的search代码: public Form3() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { srch(); } private void srch() { DataTable sheetData = new DataTable(); string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= 'c:\\Product Details.xlsx';Extended Properties='Excel 8.0;HDR=Yes;'"; string query = "select * from [Sheet1$]" ; DataSet excelDataSet = new DataSet(); OleDbDataAdapter da = new […]