求教:生成用C#生成Excel文件的原理,讲一下思路。
能不能讲下
public Excel.Application app;
public Excel.Workbooks wbs;
public Excel.Workbook wb;
public Excel.Worksheets wss;
public Excel.Worksheet ws;
他们之间的关系。
我想生成一个有多个Sheet的Excle文件,然后保存的服务器端供下载。
能不能讲下
public Excel.Application app;
public Excel.Workbooks wbs;
public Excel.Workbook wb;
public Excel.Worksheets wss;
public Excel.Worksheet ws;
他们之间的关系。
我想生成一个有多个Sheet的Excle文件,然后保存的服务器端供下载。
解决方案 »
- c#执行多条SQL语句的问题
- 怎么做2D的rpg小游戏的显示部分啊
- 怎么让CheckBoxList读取数据库的值
- 关于PetShop中的Hashtable.Synchronized的疑问
- 求助 winform 中右键菜单的一个问题
- 提取PictureBox控件颜色值?
- C#,.NET,XML,ADO.NET,ASP.NET,我从来没接触过,我要在一个月内学会,然后开发一个网站。一个月学会所有可能么?谢谢。
- 给 用System.Diagnostics.Process启动的进程 传递参数,新进程怎么接收参数?
- 哪里可以找到Programming Windows with C# 的电子书?
- 怎样能抓到CSDN登陆的URL和参数的包啊
- Web Service导出成COM
- 如何用正则来批量替换<script 开头 ,</script>结尾的
/// datatable到Excel
/// </summary>
/// <param name="dt">DataTable</param>
public static void DataTableToExcel(DataTable dt)
{
if (dt.Rows.Count == 0) return;
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbooks workbooks = excel.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Sheets worksheets = workbook.Worksheets;
Microsoft.Office.Interop.Excel.Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)worksheets.get_Item(1);
excel.Visible = true; Microsoft.Office.Interop.Excel.Range range;
excel.Cells.Select();
excel.Cells.RowHeight = 30;
excel.Cells.Font.Size = 10;
excel.Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter; int rowPos = 2;
range = excel.get_Range(sheet.Cells[rowPos, 1], sheet.Cells[rowPos, 1]);
range.Select(); for (int i = 1; i <= dt.Columns.Count; i++)
{
range = excel.get_Range(sheet.Cells[rowPos, i], sheet.Cells[rowPos, i]);
range.Borders.LineStyle = 1;
range.Font.Name = "华文仿宋";
range.Font.Size = 16;
range.Font.Bold = true;
range.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
range.ColumnWidth = 18;
sheet.Cells[rowPos, i] = dt.Columns[i - 1].ColumnName.ToString();
}
rowPos++; foreach (DataRow dr in dt.Rows)
{
for (int i = 1; i <= dt.Columns.Count; ++i)
{
range = excel.get_Range(sheet.Cells[rowPos, i], sheet.Cells[rowPos, i]);
range.Borders.LineStyle = 1;
range.Font.Name = "华文仿宋";
range.Font.Size = 12;
range.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
sheet.Cells[rowPos, i] = dr[i - 1].ToString();
}
rowPos++;
} }
Worksheet sheet = (Worksheet)work.Worksheets.Add(Type.Missing, Type.Missing, 1, Type.Missing);//添加一个sheet
sheet.Cells[1, 1] = "申请人"; //第一行第一列
sheet.Cells[1, 2] = "产业类型";//第一行第二列
Worksheet sheetZiJI = work.Worksheets["Sheet1"] as Worksheet;
//这个是Excel新建默认的sheet1
sheet.name 可以改名字 work.SaveAs("D:\\1.xls", XlFileFormat.xlExcel7, null, null, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);
work.Close(false, null, null);
excel.Quit();
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Workbook xlBook = xlApp.Workbooks.Add(true);第一个sheet
Worksheet wsMask = (Worksheet)xlBook.Worksheets["sheet1"];
wsMask.Columns.ColumnWidth = 2;
wsMask.Columns.RowHeight = 13.5;
wsMask.Name = "1";第二个sheet Worksheet wsElement = (Worksheet)xlBook.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value);
wsElement.Name = "2";第三个sheet Worksheet wsElement2 = (Worksheet)xlBook.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value);
wsElement2.Name = "3";。保存成07的 xlBook.SaveAs(outputFileName, 56, Missing.Value, Missing.Value, Missing.Value, Missing.Value, XlSaveAsAccessMode.xlExclusive, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);保存成03的
xlBook.SaveAs(outputFileName, 43, Missing.Value, Missing.Value, Missing.Value, Missing.Value, XlSaveAsAccessMode.xlExclusive, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
怎么分别在每个sheet中填入数据呢?