myxls是一个c#写的开源组件,可以用来生成具有很多表格且包含格式的excel文件。它提供了一套基于对象的api,非常轻易使用。
myxls这个组件的dll 和代码 可以在这下载到:
http://sourceforge.net/project/showfiles.php?group_id=205384&package_id=245371
以下是一个事例子。。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using org.in2bits.MyXls;
namespace MyXLSDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
XlsDocument xls = new XlsDocument();
Worksheet sheet = xls.Workbook.Worksheets.Add("sheet");//状态栏标题名称
Cells cells = sheet.Cells;
cells.Add(1, 1, "name");
cells.Add(1, 2, "age");
cells.Add(1, 3, "email");
cells.Add(1, 4, "description");
for (int i = 0; i < 5000; i++)
{
cells.Add(i + 2, 1, "netflu");
cells.Add(i + 2, 2, 28);
cells.Add(i + 2, 3, "[email protected]");
cells.Add(i + 2, 4, "sheet.cells.Addvaluecell(rowindex, colindex, row[col.columnname].tostring());//将数据添加到xls表格里");
}
//foreach (datarow row in table.rows)
//{
// rowindex++;
// colindex = 0;
// foreach (datacolumn col in table.columns)
// {
// colindex++;
// //sheet.cells.Addvaluecell(rowindex, colindex, row[col.columnname].tostring());//将数据添加到xls表格里
// cell cell = cells.Addvaluecell(rowindex, colindex, convert.todouble(row[col.columnname].tostring()));//转换为数字型
// //假如你数据库里的数据都是数字的话 最好转换一下,不然导入到excel里是以字符串形式显示。
// cell.font.fontfamily = fontfamilies.roman; //字体
// cell.font.bold = true; //字体为粗体
// }
//}
xls.FileName="a.xls";
xls.Save();
}
}
}
注:记得添加引用,下载后的org.in2bits.MyXls.dll最好放到Debug下。