生成Excel类

来源:互联网 发布:淘宝好吃的零食店铺 编辑:程序博客网 时间:2024/05/10 20:23

这是很久以前做的一个生成Excel,现在分享下。

这个程序是要引用Microsoft.Office.Interop.Excel.dll 以下是下载的地址http://files.cnblogs.com/fan0136/Microsoft.Office.Interop.Excel.rar

这个程序主要是引用Microsoft.Office.Interop.Excel来导出程序。如果是要弄成下载形式的Excel代码还需要做下载处理,当时做的代码不知道弄到哪里去了,这个只是个基本的代码。缺点是,控制样式什么的都比较麻烦,最好还是扩展下以下的基类代码。控制文字样式,边框什么的都需要写些方法。可惜当时写的比较多的版本已经找不到了。

还有一种用模版生成的Excel的方式,就是根据模版设计的样式什么的,生成Excel。这种就比较好控制样式,只要在模版上设置好样式,基本代码里不怎么去写样式。如果改天心血来潮时再总结下另一种方式的吧。

using System;using System.Data;using FedEx_WebForm.DAO;namespace Excel{    public class ExcelBase    {        //excel APP        private Microsoft.Office.Interop.Excel.Application app = null;        //excel book        private Microsoft.Office.Interop.Excel.Workbook workbook = null;        //excel worksheet        private Microsoft.Office.Interop.Excel.Worksheet worksheet = null;        //workSheet range        private Microsoft.Office.Interop.Excel.Range workSheet_range = null;        /// <summary>        /// 构造函数        /// </summary>        public ExcelBase()        {            createDoc();        }        /// <summary>        /// 创建excel        /// </summary>        public void createDoc()        {            try            {                app = new Microsoft.Office.Interop.Excel.Application();                app.Visible = true;                workbook = app.Workbooks.Add(1);                worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[1];            }            catch (Exception e)            {                Console.Write("Error");            }            finally            {            }        }        /// <summary>        /// 单个单元格写数据        /// </summary>        /// <param name="text">文字</param>        /// <param name="row">行</param>        /// <param name="col">列</param>        public void WriteData(string text ,int row, int col)        {            worksheet.Cells[row, col] = text;                }        /// <summary>        /// 合并单元格写数据        /// </summary>        /// <param name="text">文字</param>        /// <param name="row">行</param>        /// <param name="col">列</param>        /// <param name="MergeRow">合并 行</param>        /// <param name="MergeCol">合并 列</param>        public void WriteData(string text, int row, int col, int MergeRow, int MergeCol)        {            worksheet.Cells[row, col] = text;            worksheet.get_Range(worksheet.Cells[1, 3], worksheet.Cells[1, 5]).Merge(Type.Missing);        }    }}




测试代码:


        protected void CreateExcelTest()        {            try            {                ExcelBase excel = new ExcelBase();                excel.WriteData("10K",1,1);                excel.WriteData("20K", 2, 2, 2, 3);              }            catch (Exception e)            {                Console.Write("Error:" + e.ToString() );            }            finally            {            }        }





大功告成

0 0