当前位置: 首页 > 工具软件 > MyXLS > 使用案例 >

Excel 组件 MyXls

关玮
2023-12-01
      MyXls是一个 Excel 输出类,纯C#开发。使用它可以不经Excel Com即可输出Excel文件。拥有输出速度快,格式兼容的特点,推荐需要写Excel文件的可优先考虑。MyXls的官方网站是myxls.in2bits.org,最新版本支持for Silverlight 2.0和for .NET 2.0,但不支持1.1。1.1的最高版本是0.5.2。以下实例兼容所有版本!
      第三方下载地址:http://sourceforge.net/projects/myxls/files/MyXls/


using System;   
using System.Data;   
using org.in2bits.MyXls;   
  
namespace Guaik.IO   
{   
    ///    
    /// DL_Excel 的摘要说明。   
    ///    
    public class MyXlsExcel   
    {   
        ///    
        /// 把DataSet的值输入到Excel中   
        ///    
        /// 数据源   
        /// 保存路径   
        /// 输入的Excel文件路径   
        public static void funcWriteExcel(DataSet ds, string savePath)   
        {   
            funcWriteExcel(ds, savePath, null, null);   
        }   
  
        ///    
        /// 把DataSet的值输入到Excel中   
        ///    
        /// 数据源   
        /// 保存路径   
        /// 输入的Excel文件路径   
        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;   
            }   
        }   
    }   
 类似资料: