导出Excel(二)

      有时候,我们的程序是需要发布到空间服务商提供的空间上的,而很多时候空间服务商出于安全方面考虑,并不提供对Excel的COM支持,而程序又需要导出Excel的功能,这个时候,我们需要从另一个方面来着手。这里提供一个不通过COM导出Excel的例子。

      该方法主要是通过写文件的方法把数据写入到Excel中。

        /// <summary>
        /// datatable导出Excel
        /// </summary>
        /// <param name="strFileName">文件名</param>
        /// <param name="dt">datatable</param>
        /// <returns>true:成功 false:失败</returns>

    public static bool  ExportExcel(string strFileName, DataTable dt)
        {
            File.Delete(strFileName);
            string ExcelFileName = strFileName;

            FileStream fs = new FileStream(ExcelFileName, FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter w = new StreamWriter(fs, Encoding.Default);

            try
            {

 

           // 写入Excel的列头

            for (int i = 0; i < dt.Columns.Count; i++)
            {

                 w.Write( dt.Columns[i].ColumnName.Trim()+ Convert.ToChar(9));
            }

             w.Write("/n");

 

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    for (int j = 0; j < iColunmCount; j++)
                    {
                        w.Write(dt.Rows[i][j].ToString().Trim() + Convert.ToChar(9));
                    }
                    w.Write("/n");
                }
                w.Flush();
                w.Close();
            }
            catch
            {
                w.Close();
                return false;
            }
            return true;
        }

通过这种方法导出的Excel中可能含有一些特殊的符号,将这些Excel中的数据导入到DataTable中的时候,可能会出现一些小的问题。关于这个小问题,我会在后面的文章中说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值