C# 使用OleDB写数据到excel的插入数据语句!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 使用OleDB写数据到excel的插入数据语句!!!相关的知识,希望对你有一定的参考价值。


double value = 10.215;
这个10.215数据写到E3这个单元格是否可以?就举这个例子( sql语句 ,就是sql写不出来 )就可以了。初学,insert很多次都还没有预期效果,谢谢!!!更新也写上最好!!!

参考技术A 不能用sql语句将数值插入到指定的单元格。
操作Excel,常见的有两种方法:
一种直接把它作为数据库来处理,这时Excel的sheet就是数据库中的一张表。
一种用程序直接操纵Excel,可以对Excel文档做任何处理。例如:
Excel.Application oExcel = new Excel.Application();
Excel.Workbooks oBooks;
Excel.Workbook oBook;
Excel.Sheets oSheets;
Excel.Worksheet oSheet;
Excel.Range oCells;
..........

sTemplate = AppPath + @"templates\" + template;

oExcel.DisplayAlerts = false;
oBooks = oExcel.Workbooks;

oBooks.Add(sTemplate);

oBook = oBooks[1];

oSheets = oBook.Worksheets;
oSheet = (Excel.Worksheet)oSheets[1];
oCells = oSheet.Cells;

try

oCells[3, 5] =10.215;
..............

oSheet.SaveAs(sFile, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Excel.XlSaveAsAccessMode.xlExclusive, Missing.Value, Missing.Value,
Missing.Value);
oBook.Close(Missing.Value, Missing.Value, Missing.Value);
oBooks.Close();

catch(Exception ex)

return ex.Message;

finally

if (oCells != null)

Marshal.ReleaseComObject(oCells);

if (oSheet != null)

Marshal.ReleaseComObject(oSheet);

if (oSheets != null)

Marshal.ReleaseComObject(oSheets);

if (oBook != null)

Marshal.ReleaseComObject(oBook);

if (oBooks != null)

Marshal.ReleaseComObject(oBooks);

if (oExcel != null)

oExcel.Quit();
Marshal.ReleaseComObject(oExcel);


oCells = null;
oSheets = null;
oBook = null;
oBooks = null;
oExcel = null;
oSheet = null;

System.GC.Collect();
本回答被提问者采纳

如何使用 oledb 在 c# 中将下拉列数据插入到 excel 中

【中文标题】如何使用 oledb 在 c# 中将下拉列数据插入到 excel 中【英文标题】:how to insert dropdown column data into excel in c# using oledb 【发布时间】:2013-07-15 16:51:48 【问题描述】:

我想将数据插入到 Excel 中。但是,excel 包含下拉列和普通列。 我正在使用 oledb 提供程序将数据插入到 excel 普通列中,但我无法使用 oledb 插入下拉列值,有人能指出我正确的方向吗?

【问题讨论】:

【参考方案1】:

使用Excel Interop可以实现下拉列表。

下面是示例代码

        // Create an Excel object
        Microsoft.Office.Interop.Excel.Application excel = new  Microsoft.Office.Interop.Excel.Application();

        //Create workbook object
        string str = @"E:\test.xlsx";
        Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Open(Filename: str);
        Microsoft.Office.Interop.Excel.Worksheet worksheet1 = workbook.ActiveSheet;
        Microsoft.Office.Interop.Excel.Range range = worksheet1.get_Range("A1","A1");
        Microsoft.Office.Interop.Excel.DropDowns xlDropDowns;
        Microsoft.Office.Interop.Excel.DropDown xlDropDown;
        xlDropDowns = ((Microsoft.Office.Interop.Excel.DropDowns)(workbook.ActiveSheet.DropDowns(Type.Missing)));
        xlDropDown = xlDropDowns.Add((double)range.Left, (double)range.Top, (double)range.Width, (double)range.Height, true);
        xlDropDown.AddItem("item1",1);
        xlDropDown.AddItem("item2", 2);


        //Save the workbook
        workbook.Save();

        //Close the Workbook
        workbook.Close();

        // Finally Quit the Application
        ((Microsoft.Office.Interop.Excel._Application)excel).Quit();

【讨论】:

@RavitejaChekuri Chekuri :如果你得到答案,请将其标记为正确

以上是关于C# 使用OleDB写数据到excel的插入数据语句!!!的主要内容,如果未能解决你的问题,请参考以下文章

使用 OleDb 和 Access 数据库引擎的 C# Excel 插入错误

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

通过 Oledb c# 防止重复数据从 Excel 到 db

尝试使用 C# 和 OleDb 创建外键并将其值插入到 .mdb 数据库中

使用 c# 将数据更新到 Excel 工作表中

C#如何通过OleDb更新Excel中的数据