【发布时间】:2014-05-14 08:55:56
【问题描述】:
我正在做一个项目,我必须从 DBASE 文件中获取数据,然后导出数据 excel form。
excel form 有 10 多个工作表,其中包含用于添加行的按钮。
我已使用OLEDB 从dbase 文件中检索到所需格式的数据(如excel form 所要求的)。
现在的问题是如何将数据从数据表发送到具有所需行和列的 Excel 表单特定工作表。
另外,如何向工作表的按钮发送命令以添加所需的行?
这就是我从 dbase 文件中获取数据并将其存储到数据表中的方式。
private void button1_Click(object sender, EventArgs e)
{
string a = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\vat;Extended Properties =dBASE IV; User ID = Admin ;Password =";
OleDbConnection con = new OleDbConnection();
con.ConnectionString = a;
con.Open();
//MessageBox.Show(con.State.ToString());
string qu = "Select * from abc.dbf ";
OleDbDataAdapter oda = new OleDbDataAdapter(qu, con);
DataTable dt = new DataTable();
oda.Fill(dt);
this.dataGridView1.DataSource = dt;
}
有很多示例可以将数据从数据表导出到 Excel,但几乎在每个示例中都会创建一个新的 Excel 表单。我必须导出到包含大约 10 张纸的现有 excel 表单。现在我想将该数据表内容插入名为 ABC.XLS 的 Excel 工作表,工作表名称为 A。
我希望我能解释我的问题。
【问题讨论】:
-
如果您直接从数据库中将数据添加到 excel 工作表中会怎样?当然,您可以从您的 c# 代码中添加它。
-
您可以在 sql server 中使用这一行插入到 excel - 插入到 OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\testing.xls; ', 'SELECT * FROM [SheetName$]') 从 YourSQLServerTable 中选择 *
-
您能详细说明一下吗?
-
在数组的帮助下用c#可以吗?
-
当然它在 c# 中是可能的。通过创建 - Microsoft.Office.Interop.Excel.Application 的实例,您可以实现它,但首先向我展示您到目前为止所做的事情。以便我能以更好的方式帮助您...