Tag: oledb

使用OleDB读取范围Excel Sheet

我想使用OleDbDataReader从Excel文件中读取 string con= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ruta + ";" + "Extended Properties='Excel 12.0 Xml;HDR=YES;'"; using (OleDbConnection connection = new OleDbConnection(con)) { connection.Open(); OleDbCommand command = new OleDbCommand("Select * FROM [Template$A1:JB2435]", connection); 但是,当我运行这个代码,这个错误在运行时显示 Microsoft Access数据库引擎找不到对象“模板$ A1:JB2435”。 确保对象存在,并且正确拼写其名称和path名称 如果我没有把范围的程序工作,但我想从该Excel工作表中select一个范围

C#exception:外部表格不是预期的格式。 而使用excel与oledb

如果有人能帮助我,这将是非常感激的。 我正在尝试阅读具有不同工作表的Excel(.xlsx,excel-2007)(标题不固定)。 下面的代码在大多数情况下适用于我,但在有些情况下会抛出exception。 public static bool ReadExcelData(string ExcelFilePath, string SheetName, out DataTable dt) { dt = new DataTable(); bool isXlsx = ExcelFilePath.Substring(ExcelFilePath.LastIndexOf('.') + 1).ToLower() == "xlsx"; string excelConnectString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + ExcelFilePath + ";Extended Properties=\"Excel 8.0;HDR=yes;\""; if (isXlsx) excelConnectString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ExcelFilePath + ";Extended Properties=\"Excel 12.0\";"; OleDbConnection objConn = null; try […]

我们如何只提取具有第一列作为指定约束(string)使用OLEDB在ASP.NET中的特定行?

我有一个Excel表格,其中有一个特定的门票号码的6个主题获得的商标列表。 我一直使用C#代码隐藏文件中的OLEDB的网页,并使用DataTable来存储logging。 但是我不能解决这个问题,我怎么只提取第一列与特定string匹配的行。 我试过使用下面的代码: OleDbConnection ExConn = new OleDbConnection(constr); OleDbCommand Comm = new OleDbCommand(); OleDbDataAdapter ODAdapter = new OleDbDataAdapter(); DataTable DTable = new DataTable(); Comm.Connection = ExConn; ExConn.Open(); DataTable ExSchema = ExConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); string Sheet = ExSchema.Rows[0]["TABLE_NAME"].ToString(); ExConn.Close(); ExConn.Open(); Comm.CommandText = "SELECT * FROM ["+Sheet+"] where [A] = '155U1A05A0'"; ODAdapter.SelectCommand = Comm; ODAdapter.Fill(DTable); ExConn.Close(); 有没有办法只有那些有条件的真正的行到数据表? […]

两个几乎不相等的excel表使用OLEDB加载 – 有一个头和一个没有

我正在加载两个Excel工作表。 两者在第1行中的标题完全相同。我使用相同的代码。 现在,我得到了第二个文件的标题,而第一个没有标题。 码: private static string GetExcelConnectionString(string Filename){return "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " + Filename + ";Extended Properties = \"Excel 12.0 Xml;HDR=YES\"";} private static void AddToListByOLE(string Filename, ref System.Collections.Generic.List<System.Data.DataTable> MyList, int nTab = -1) { string sql = string.Empty; using (System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(GetExcelConnectionString(Filename))) { using (System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter()) […]

在Excel中删除表格数据的问题

我试图通过命令删除Excel表格数据 从[Phones_map $]删除 然后我得到exception其他信息:此ISAM不支持删除链接表中的数据。 这里是连接string:Provider = Microsoft.Jet.OLEDB.4.0; Data Source = myfile.xls; Extended Properties =“Excel 8.0; HDR = No; IMEX = 0” Excel是否支持另一个用于删除表数据的SQL命令? 我尝试了TRUNCATE表,但不支持 提前致谢

OleDbAdapter读取列数据

我创build了一个函数来读取使用OLEDB的Excel表。 我可以build立连接并阅读Excel表格。 使用DbDataReader和一个使用Read()方法的while循环,我从excel工作表中检索所有单元格数据。 我想检查每个单元格的alignment信息。 如果一个单元格是左alignment的,我将从这些左alignment的单元格中选取数据。 我怎样才能做到这一点? 对不起这是一个愚蠢的问题,但我真的需要它。 谢谢

“没有给出一个或多个必需参数的值”访问Excel电子表格

它是我第一次访问和读取Excel文件(XLSX)与C#..我有问题,错误是:没有给出一个或多个所需的参数值 下面是我的代码: private void button5_Click(object sender, EventArgs e) { string ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Class Schedules.xlsx;Extended Properties=""Excel 12.0;HDR=NO;"""; string ExcelQuery; ExcelQuery = "SELECT A1 FROM [Sheet1$]"; OleDbConnection ExcelConnection = new OleDbConnection(ConnectionString); ExcelConnection.Open(); OleDbCommand ExcelCommand = new OleDbCommand(ExcelQuery, ExcelConnection); OleDbDataReader ExcelReader; ExcelReader = ExcelCommand.ExecuteReader(); //error happens here while (ExcelReader.Read()) { MessageBox.Show((ExcelReader.GetValue(0)).ToString()); } ExcelConnection.Close(); } 因为这是我第一次,我只是想读取A1的内容,下面是我的Excel文件: 但运行代码会给我一个错误:没有给出一个或多个所需的参数值。

我如何从Excel工作表中获取列名?

我有一个数据库表。 是否有一个查询获取表中列的名称? 例: Name || Age || Gender Tom || 30 || male Kate || 20 || Female 我想要一个查询来获得列名称: Name , Age, Gender 谢谢 编辑:对于一些缺less的信息抱歉: 我在C#中使用OleDB连接来从Excel工作表读取数据

通过C#和OleDb插入一行到Excel电子表格

我需要以编程方式多次插入一个Excel电子表格行。 我需要实际插入一个新行,而不是插入数据,也就是说,我需要实际上将所有其他行向下移动一个。 我目前使用OleDB插入数据本身就像这样: //Note I have missed some code out for simplicities sake, this all works fine however OleDbConnection oledbConn = null; OleDbCommand cmd = null; OleDbConnection = new OleDbConnection(connString); OleDbConnection.Open(); string connString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0; \"", TargetFile); sting InsertCommand = string.Format("INSERT INTO [{0}${1}:{1}] Values({2})", WorksheetName, Coord, valuestring); cmd = new OleDbCommand(InsertCommand, oledbConn); […]

使用C#查询两个date之间的Excel列

嗨,我试图从两个date之间的Excel中select数据。 我有点卡住,因为在Excel中的数据只是文本types。 我将如何查询这个? string Date = DateTime.Now.AddDays(7).ToString("dd/MM/yyyy HH:mm"); string Date2 = DateTime.Now.ToString("dd/MM/yyyy HH:mm"); MyCommand = new System.Data.OleDb.OleDbDataAdapter("select [Req Start Date] from [CR$]", BETWEEN Date and Date2 ? MyConnection);