将数据从sql数据库导出到excel直接
问题描述:
将数据从sql数据库直接导出到excel,此代码无效,我没有在特定位置获取文件。请帮我找到代码。
和我的连接字符串是Data Source = aswin-pc\sqlexpress; Initial Catalog = pro; Integrated Security = True
Exporting the data from sql database to excel directly,this code is not working and i am not getting file in particular location.kindly help me out in finding the code.
and my connection string is Data Source=aswin-pc\sqlexpress;Initial Catalog=pro;Integrated Security=True
using Excel=Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettings["SqlCon"].ToString());
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
string data = null;
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
con = new SqlConnection("Data Source=aswin-pc\\sqlexpress;Initial Catalog=pro;Integrated Security=True");
con.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM Details", con);
SqlDataAdapter dscmd = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
dscmd.Fill(ds);
for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
for (int j = 0; j <= ds.Tables[0].Columns.Count - 1; j++)
{
data = ds.Tables[0].Rows[i].ItemArray[j].ToString();
xlWorkSheet.Cells[i + 1, j + 1] = data;
}
xlWorkBook.SaveAs("csharp.net-informations.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
MessageBox.Show("Excel file created , you can find the file @ D:\\kk.xls");
}
}
private void releaseObject(object obj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
obj = null;
}
catch (Exception ex)
{
obj = null;
MessageBox.Show("Exception Occured while releasing object " + ex.ToString());
}
finally
{
GC.Collect();
}
}
}
}
答