}
m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(intSheetNumber));
m_objSheet.Cells[1,1] = strMastTitle;
m_objSheet.Cells[2,1] = "打印日期" DateTime.Now.ToShortDateString();
for(int i = 1;i<=strTitle.Length;i )
{
m_objSheet.Cells[4,i] = strTitle[i-1].ToString();
}
m_objRange = m_objSheet.get_Range("A5", m_objOpt);
m_objQryTable = m_objSheet.QueryTables.Add("OLEDB;Provider=SQLOLEDB.1;" sqlConn.ConnectionString, m_objRange, strQuery);
m_objQryTable.RefreshStyle = Excel.XlCellInsertionMode.xlInsertEntireRows;
m_objQryTable.FieldNames = false;
m_objQryTable.Refresh(false);
}
}
}
全盘复制另存新类后,调用方法示例如下:
private void button2_Click(object sender, EventArgs e)
{
#region ExcelManager封装类导出Excel
String strConnet ="Data Source='localhost';Password = ;User ID=sa;Initial Catalog=Northwind";
System.Data.SqlClient.SqlConnection sqlConn =
new System.Data.SqlClient.SqlConnection(strConnet);
ExcelManager exc = new ExcelManager(65530, "Orders", sqlConn);
try
{
exc.DeclareExcelApp(new string[] { "编号","供给商编号" }, " OrderID,CustomerID ", "Orders", "报表标题");
//exc.SaveExcelApp();
}
catch(Exception E)
{
MessageBox.Show(E.ToString());
}
finally
{
exc.Dispose();
}
#endregion
}
以上使用的是Excel 2002 英文版。2003有些方法稍有出入。可参照前篇的C#导出Excel源码。另外,假如可能的话,我将封装其它数据库类型的Excel导出。有爱好的朋友,请继续关继!
评论加载中…
![]() |