我将DataSet的数据生成到Excel中,但是都没有列标题.怎么将列标题也转过去呢.
保存excel文件我用的是这个方法
xlBook.SaveAs(strPath, xlApp.ActiveWorkbook.FileFormat, "", "", xlApp.ActiveWorkbook.ReadOnlyRecommended, xlApp.ActiveWorkbook.CreateBackup, Excel.XlSaveAsAccessMode.xlShared.xlShared, xlApp.ActiveWorkbook.ConflictResolution, False, "", "")
保存excel文件我用的是这个方法
xlBook.SaveAs(strPath, xlApp.ActiveWorkbook.FileFormat, "", "", xlApp.ActiveWorkbook.ReadOnlyRecommended, xlApp.ActiveWorkbook.CreateBackup, Excel.XlSaveAsAccessMode.xlShared.xlShared, xlApp.ActiveWorkbook.ConflictResolution, False, "", "")
解决方案 »
- c#怎样解析域名为IP地址?
- ===如何把string型转换为数据库里面的money型===
- 多個專案間,如何繼承其它專案的樣式?
- 总是提示输入字符串的格式不正确!!!帮忙解决下
- 如何用vs2003的安装部署为目标机器安装一个sqlserver的数据库。?
- 远程数据导入到本地数据库中的问题~~~
- ***** 使用Exception时获取函数主体参数取值的问题 *****
- 64位win7装了VS2010,windows sdk的版本问题
- 在线等候,在关使用SQLDMO.DLL的问题
- StringFormat 为什么没起作用
- 请教一个简单的c#问题,请大虾帮忙!!
- 有没有用于 Winform 的 简易HTML编辑控件???
{
SqlConnection Conn=new SqlConnection(information.ConnectionString);
Excel.Application oExcel;
Excel.Workbook oBook;
Object oMissing = System.Reflection.Missing.Value;
oExcel = new Excel.Application();
oBook = oExcel.Workbooks.Add(oMissing);
try
{
Conn.Open();
SqlCommand Cmd=Conn.CreateCommand();
Cmd.CommandType=CommandType.StoredProcedure;
Cmd.CommandText="njpm";
DataSet ds=new DataSet();
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=Cmd;
da.Fill(ds,"score");
int rowIndex=1;
int colIndex=0; DataTable table=ds.Tables["score"]; //将所得到的表的列名,赋值给单元格
foreach(DataColumn col in table.Columns)
{
colIndex++;
oExcel.Cells[1,colIndex]=col.ColumnName;
} //同样方法处理数据
foreach(DataRow row in table.Rows)
{
rowIndex++;
colIndex=0;
foreach(DataColumn col in table.Columns)
{
colIndex++;
oExcel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();
}
}
oBook.Saved = true;
oExcel.UserControl = false;
string mm=Server.MapPath(".")+"\\aa.xls";//服务器保存地址
oExcel.ActiveWorkbook.SaveCopyAs (mm);
Response.Redirect ("aa.xls");//注意上保存和调用时的路径。
}
catch (Exception exc)
{
string msg="数据导出Excel时出现错误!";
Response.Write("<SCRIPT language='javascript'>");
Response.Write("alert('" + msg + "')");
Response.Write("</SCRIPT>");
Response.Write(exc.Message);
}
finally
{
Conn.Close();
oBook=null;
oExcel.Quit();
oExcel=null;
GC.Collect(0);
KillExcelProcess();
}
}
private void KillExcelProcess()
{
System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessesByName("EXCEL")[0];
p.Kill();
}