Tag: oledbcommand

使用OleDb从Excel中select具有多个范围的列

我目前的需求是我需要从一个单一的查询Excel表(DUMMY.xls)中select多个范围,并把它放到一个DataTable(fooData1):正如你可以从上面的图像看到我有从A到F列。我筛选出从A到B和从D到F到单个数据表(fooData1)的列。 生成的数据表的内容应该是这样的: NAME ID Date Hobby COLOR DEEPAK 1 Coding Black ASTHA 2 Singing Red GAURAV 3 Dancing Blue BHAVESH 4 6/29/2007 Painting Green 我的代码是这样的: 并在执行查询时出现以下错误 “SQL语句结束后发现的字符” DataTable fooData1 = new DataTable(); System.Data.OleDb.OleDbConnection dbConnection = new System.Data.OleDb.OleDbConnection (@"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=C:\Dummy.xls;" + @"Extended Properties=""Excel 8.0;HDR=Yes;"""); dbConnection.Open(); try { string strSql = "SELECT * FROM [Sheet1$A:B] […]

使用oledb更新excel文件的特定单元格

我想用oledb更新excel文件的特定单元格。 说I7电池,出于某种原因总是I1正在更新。 任何人都可以告诉我这个代码有什么问题吗? OleDbConnection oledbConn = new OleDbConnection(connString); oledbConn.Open(); // I want to set the value of I7 cell to 22, for some reason value is I1 is getting updated 🙁 OleDbCommand cmd = new OleDbCommand("UPDATE [" + sheetName + "$I7:I7] SET F1=22", oledbConn); int result = cmd.ExecuteNonQuery(); Console.WriteLine(result); oledbConn.Close();

使用OleDB命令在Excel中更新整行

我想清空/清除整个Excel选项卡。 但似乎没有任何工作 我尝试了以下方法: OleDbConnection connection = new OleDbConnection(connectionString); OleDbCommand command = new OleDbCommand("Select * FROM [Sheet1$]", connection); OleDbCommand count = new OleDbCommand("Select count(*) FROM [Sheet1$]", connection); DataSet dataset = new DataSet(); OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = new OleDbCommand("Select * from [Sheet1$]", connection); adapter.Fill(dataset); for (int i = 0; i < dataset.Tables[0].Rows.Count; i++) { […]

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

我如何从Excel文件中获取列表名称? 我从Excel读取的实际脚本是这样的: DataSet da = new DataSet(); OleDbDataAdapter adapter = new OleDbDataAdapter(); string name = "PP_s_vypocty"; // I actually using manualy name for read, but i want extract name from file. string FileName = fullpath; string _ConnectionString = string.Empty; string _Extension = Path.GetExtension(FileName); // Checking for the extentions, if XLS connect using Jet OleDB if […]

MS Access的OLEDBConnection Excel问题

所以我已经search了大约2天了,虽然我可以find很多关于如何将Excel工作表放入GridView的例子,但是没有一个适用于我。 这是我的目标:我需要读取一个Excel文件,其中有一个工作表,它应该始终是一个工作表,在ASP.NET网站中的一个GridView和我使用VB.Net代码后面的文件。 我尝试了一种方法,试图使用表名的Schema(为了获得表名),但是不pipe表的名字是什么,它总是以“Algrip”的forms返回,其中任何一个工作簿中都没有这个名字的表我用一个testing。 所以我放弃了这一点,现在正在使用这个代码:(哪个工作完成,有点) 'Setup Variables Dim xlConnStr As String = "" Dim FileName As String = Path.GetFileName(FileUpload1.PostedFile.FileName) Dim Extension As String = Path.GetExtension(FileUpload1.PostedFile.FileName) Dim FolderPath As String = ConfigurationManager.AppSettings("FolderPath") Dim sheetname As String = InputBox("Enter Sheetname: ", "Excel Worksheet name") 'Adjust Sheetname sheetname = sheetname + "$" 'Set Connection based on Excel File Extension […]

OleDbAdapter SelectCommand Excel c#

我想查询Excel文件中唯一的一个工作表的数据。 MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$] ", MyConnection); 该行查询Sheet1中的数据。 问题是,我不知道input文件中表单的名称是什么。 有没有什么办法可以编写命令string,以便它可以访问表格,不pipe名字是什么。

From子句Excel中的语法错误

public void SetConnection(string text1, string text2, string text3, string text4, string text5, string text6, string text7) { connectionString1 = "Initial Catalog=testdb; Data Source=work\\sqlexpress"; database = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\\Users\\test.xls';Extended Properties= \"Excel 8.0;HDR=Yes;IMEX=1\";"); database.Open(); database1 = new OleDbConnection("Provider=SQLOLEDB.1;" + connectionString1); database1.Open(); } data1 = DataAccess.DatabaseTables("SELECT * from [Sheet1$])", DataAccess.database); public DataTable DatabaseTables(string QueryString, OleDbConnection DataConnection) { OleDbCommand […]

Excel将空白单元格保存为已使用的单元格

我试图在Excel中插入行与OLEDB,问题是: :我在我的工作表的末尾插入了几行。 :我打开我的Excel文档,看到我插入的行。 :我删除所有插入的行并重新启动我的应用程序。 :行继续插入最后一行索引 例如: 行插入行3020在Excel中 删除这一行并保存 重新启动应用程序并再次插入 行将在Excel中的第3021行 公共无效插入(string文本,Excel.Worksheet WS,string列){ OleDbCommand cmd1 = new OleDbCommand("INSERT INTO ["+ws.Name+"$] " + "([" + column + "]) VALUES(' " + text + " ')", _oleConn); cmd1.ExecuteNonQuery(); }

Oledb跳过Excel文件的第一列。 第一列是空的

问题是第一列是空的,它不能被读取。 要阅读这个文件,我写了下面的代码: MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "'" + filename + "'" + ";Extended Properties=\"Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0\""); DtSet = new DataSet(); MyConnection.Open(); var dt = MyConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); MyCommand = new OleDbDataAdapter("select * from [$first]", MyConnection); MyCommand.Fill(DtSet); // filldata dataExcel.AddRange(fillData(DtSet.Tables["Table"]).Select(info => info.ToList())); } List<List<string>> fillData(DataTable DtSet) //reader { List<List<string>> data = new List<List<string>>(); foreach (DataRow item […]

VB OleDbCommand中查询的数据types不匹配,但在Access中不匹配

我试图从导入表(在进行一些修改和连接后)从一个Excel文件中的数据源编录到另一个表中的Access .mdb数据库中的logging通过一个VB应用程序编程,我收到一个Data type mismatch in criteria expression. 错误。 我明白为什么发生这种情况,并通过每个源表和目标表的每一列梳理,试图找出哪个列导致问题,但一切似乎很好。 真正奇怪的是我写了查询,保存,并在Access中进行了testing,运行良好,当我尝试从VB应用程序运行它时,我只得到不匹配错误: 'COPY DATA FROM IMPORT TO CASE TABLE cnLoad.Open() Dim cmd As OleDbCommand = New OleDbCommand() cmd.Connection = cnLoad cmd.CommandType = CommandType.StoredProcedure cmd.CommandTimeout = 10 cmd.CommandText = "LoadData" cmd.ExecuteNonQuery() cnLoad.Close()' 我不知道为什么这只会发生在从VB运行查询。 我发现这一点,并添加了一个“虚拟”列来build立数据types,但我仍然得到错误: http : //kb.tableausoftware.com/articles/knowledgebase/jet-incorrect-data-type-issues 访问不严格的types不匹配,这样我只是没有捕获在Access中的问题,而OleDbConnection更严格,导致问题。 有什么方法可以find有问题的列吗? 谢谢!