MyXls for .Net1.1写Excel文件操作类
MyXls是一个Excel输出类,纯C#开发。使用它可以不经Excel Com即可输出Excel文件。拥有输出速度快,格式兼容的特点,推荐需要写Excel文件的可优先考虑。MyXls的官方网站是myxls.in2bits.org,目前最新版本是0.6.3,最新版本支持for Silverlight 2.0和for .NET 2.0,但不支持1.1。1.1的最高版本是0.5.2,下载地址:http://sourceforge.net/projects/myxls/files/MyXls/v0.5.2/。下面的操作类由MyXls for .NET2.0的改造而成,测试成功。
using System;
using System.Data;
using org.in2bits.MyXls;
namespace Guaik.IO
{
/// <summary>
/// DL_Excel 的摘要说明。
/// </summary>
public class MyXlsExcel
{
/// <summary>
/// 把DataSet的值输入到Excel中
/// </summary>
/// <param name="ds">数据源</param>
/// <param name="savePath">保存路径</param>
/// <returns>输入的Excel文件路径</returns>
public static void funcWriteExcel(DataSet ds, string savePath)
{
funcWriteExcel(ds, savePath, null, null);
}
/// <summary>
/// 把DataSet的值输入到Excel中
/// </summary>
/// <param name="ds">数据源</param>
/// <param name="savePath">保存路径</param>
/// <returns>输入的Excel文件路径</returns>
public static void funcWriteExcel(DataSet ds, string savePath, string[] tableNames, string[] headText)
{
try
{
XlsDocument xls = new XlsDocument();
int rowIndex = 1;
int colIndex = 0;
int tabIndex = 0;
foreach (DataTable dt in ds.Tables)
{
Worksheet sheet = xls.Workbook.Worksheets.AddNamed(tableNames != null && tableNames.Length > tabIndex ? tableNames[tabIndex++] : dt.TableName);//状态栏标题名称
Cells cells = sheet.Cells;
tabIndex++;
//设置标题
int headIndex = 0;
foreach (DataColumn col in dt.Columns)
{
colIndex++;
cells.AddValueCell(1, colIndex, (headText != null && headText.Length > headIndex ? headText[headIndex++] : col.ColumnName));
}
foreach (DataRow row in dt.Rows)
{
rowIndex++;
colIndex = 0;
foreach (DataColumn col in dt.Columns)
{
colIndex++;
Cell cell = cells.AddValueCell(rowIndex, colIndex, row[col.ColumnName].ToString());
//cell.UseNumber = true;
}
}
}
string dir = System.IO.Path.GetDirectoryName(savePath);
if (!System.IO.Directory.Exists(dir))
{
System.IO.Directory.CreateDirectory(dir);
}
xls.FileName = System.IO.Path.GetFileName(savePath);
xls.Save(dir, true);
}
catch (Exception ex)
{
throw ex;
}
}
}
}
Tag标签: Excel
- 1. MyXls for .Net1.1写Excel文件操作类2010-01-27





