我已经用C#创建了一个Windows应用程序,我正在使用Excel作为临时数据库。我能够读取Excel数据,但我不知道如何使用C#更新该文件中的单元格值。其结构如下:
我想在完成执行后将done字段更新为yes。
yes
u5i3ibmn1#
我得更新一下
Extended Properties=HDR=NO; IMEX=1
与
Extended Properties=HDR=YES;
因此它将是:
connString = "Provider=Microsoft.Jet.OLEDB.4.0;Excel 8.0; Extended Properties=HDR=YES;Data Source=" + Directory.GetCurrentDirectory() + "/swtlist.xls"; OleDbConnection oledbConn = new OleDbConnection(connString); oledbConn.Open(); DataTable dt = oledbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); OleDbCommand cmd = new OleDbCommand("UPDATE [Sheet1$] SET done='yes' where id=1", oledbConn); cmd.ExecuteNonQuery();
vfh0ocws2#
如果你使用excel作为OLEDB数据源,那么你将像使用数据库一样使用SQL。查询看起来有点像:第一个月就你而言
UPDATE [Sheet One$] SET [column1]=value, [done]='yes' WHERE [some_column]=some_value
如果你需要更多的帮助,看看周围,有大量的信息可以使用。也许http://www.codeproject.com/Articles/8500/Reading-and-Writing-Excel-using-OLEDB会帮助你开始。
gcmastyq3#
要使用C#更新Excel,您只需获取工作表对象,并使用单元格地址(xlWorksheet .Cells[1,1])更新单元格。
using System; using Excel = Microsoft.Office.Interop.Excel; using System.Runtime.InteropServices; namespace ConsoleApplication { public class Program { public string[,] someImportantData; public string[,] ExtractData(string path) { try { // Excel Instance declartion Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(path); Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1]; // Insert your sheet index here Excel.Range xlRange = xlWorksheet.UsedRange; // Some code goes here // Update the excel worksheet xlWorksheet.Cells[1, 1] = 4; xlWorksheet.Cells[1, 2] = "Value"; xlApp.Workbooks.Close(); xlApp.Quit(); Marshal.ReleaseComObject(xlWorksheet); Marshal.ReleaseComObject(xlWorkbook); Marshal.ReleaseComObject(xlApp); return someImportantData; } catch (Exception Ex) { throw Ex; } } } }
3条答案
按热度按时间u5i3ibmn1#
我得更新一下
与
因此它将是:
vfh0ocws2#
如果你使用excel作为OLEDB数据源,那么你将像使用数据库一样使用SQL。查询看起来有点像:
第一个月
就你而言
如果你需要更多的帮助,看看周围,有大量的信息可以使用。也许http://www.codeproject.com/Articles/8500/Reading-and-Writing-Excel-using-OLEDB会帮助你开始。
gcmastyq3#
要使用C#更新Excel,您只需获取工作表对象,并使用单元格地址(xlWorksheet .Cells[1,1])更新单元格。