同样的代码,从access导出到excel没有问题,但从SQL导出则提示出错,没有权限
蜗牛学编程 2020-07-28 11:27:02 各位老师,请教一下。
以下代码是从数据库导出到excel中的代码。从access导出没有问题。但从SQL导出则报错,提示<指定的架构名称“Excel 8.0;database=……..”不存在,或者您没有使用该名称的权限>
不知道什么原因,折腾了好久没调试出来,盼望老师们指教。
另外,如果我想打开一个指定的excel,并把datagridview里的某些值赋值到指定单元格,最后以textbox1的内容作为excel名进行保存。这个代码该如何写吗?
盼教导~~~
private void button20_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(constr);
try
{
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.Filter = ("Excel 文件(*.xls)|*.xls");//指定文件后缀名为Excel 文件。
if (saveFile.ShowDialog() == DialogResult.OK)
{
string filename = saveFile.FileName;
int index = filename.LastIndexOf("//");//获取最后一个/的索引
filename = filename.Substring(index + 1);//获取excel名称(新建表的路径相对于SaveFileDialog的路径)
string sql = "select top 65536 * into [Excel 8.0;database=" + filename + "].[用户信息] from DL"; //如果是导出筛选后结果,可后面加上条件: where ID between 4 and 10";
SqlCommand com = new SqlCommand(sql, con);
con.Open();
com.ExecuteNonQuery();
MessageBox.Show("导出数据成功", "导出数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
System.Diagnostics.Process.Start(filename.ToString()); //打开excel
}
}