您的位置:首页 > 数据库

静默创建并将SQL数据写入到创建的EXCEL中

2013-10-07 19:31 363 查看
private SQLHelper sqlhelper;

public 将SQL数据导出到EXCEL中2()
{
InitializeComponent();
sqlhelper = new SQLHelper();
}

public DataTable data()
{
string sql = "select * from sheet1";

DataTable dt = sqlhelper.ExecuteQuery(sql, CommandType.Text);
return dt;

}

private void button1_Click(object sender, EventArgs e)
{
DataTable dt = data();
// dataGridView1.DataSource = dt;
if (dt.Rows.Count == 0)//判断是否有数据
return;//返回
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//实例化Excel对象
// excel.Application.Workbooks.Add(true);//在Excel中添加一个工作簿

Microsoft.Office.Interop.Excel.Workbook newWorkBook = excel.Application.Workbooks.Add(true);//添加新工作簿
//  object missing = System.Reflection.Missing.Value;//获取缺少的object类型值

excel.Visible = false;//设置Excel显示
//生成字段名称
//for (int i = 0; i < dt.Columns.Count; i++)
//{
//    excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;//将数据表格控件中的列表头填充到Excel中
//}
//填充数据
for (int i = 1; i <= dt.Rows.Count; i++)//遍历数据表格控件的所有行
{
for (int j = 1; j<= dt.Columns.Count; j++)//遍历数据表格控件的所有列
{

//if (dt.Rows[j][i].ValueType == typeof(string))//判断遍历到的数据是否是字符串类型
//{
//    excel.Cells[i + 2, j] = "'" + dt.Rows[j][i].ToString();//填充Excel表格
//}
//else
//{
excel.Cells[i, j] = dt.Rows[i-1][j-1].ToString();//填充Excel表格
//}

//string str1 = dt.Rows[i][j].ToString();
//excel.Cells[i + 2, j] = "'" + str1;

}
}

newWorkBook.SaveCopyAs("D:\\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls");//保存Excel文件
MessageBox.Show("Excel文件创建成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);//弹出提示信息
System.Diagnostics.Process[] excelProcess = System.Diagnostics.Process.GetProcessesByName("EXCEL");//实例化进程对象
foreach (System.Diagnostics.Process p in excelProcess)
p.Kill();//关闭进程
//excel.Save();//保存excel文件
//excel.Quit();//确保Excel进程关闭
//excel.Visible = true;// 前台可见 后台运行
//excel = null;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: