NPIO 导出Execl

步骤1:导入NOIO.dll    (我导入压缩包中的4.0)

下载地址:http://npoi.codeplex.com/downloads/get/1572743

步骤二:粘贴代码(^  ....   ^)

public class ExeclController : Controller
    {
        //
        // GET: /Execl/
        public ActionResult Index()
        {
            DataTable dt = new DataTable("AllVehSite");
            DataColumnCollection columns = dt.Columns;
            columns.Add("AcctId", typeof(System.Int32));
            columns.Add("SiteId", typeof(System.Int32));
            columns.Add("DbType", typeof(System.String));
            columns.Add("ConnStr", typeof(System.String));

DataRow datarow = dt.NewRow();
            datarow["AcctId"] = 1;
            datarow["SiteId"] = 2;
            datarow["DbType"] = "2";
            datarow["ConnStr"] = "1";

dt.Rows.Add(datarow);
            
            WriteExcel(dt, @"C:\Users\Administrator\Desktop\datas111.xls");

return View();
        }

#region 导出Execl
        public static void WriteExcel(DataTable dt, string filePath)
        {
            if (!string.IsNullOrEmpty(filePath) && null != dt && dt.Rows.Count > 0)
            {
                NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
                NPOI.SS.UserModel.ISheet sheet = book.CreateSheet(dt.TableName);

NPOI.SS.UserModel.IRow row = sheet.CreateRow(0);
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    row.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
                }
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    NPOI.SS.UserModel.IRow row2 = sheet.CreateRow(i + 1);
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        row2.CreateCell(j).SetCellValue(Convert.ToString(dt.Rows[i][j]));
                    }
                }
                // 写入到客户端  
                using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
                {
                    book.Write(ms);
                    using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
                    {
                        byte[] data = ms.ToArray();
                        fs.Write(data, 0, data.Length);
                        fs.Flush();
                    }
                    book.Close();
                    book = null;
                }
            }
        }
        #endregion

}

步骤3:修改路径,Databable

时间: 2024-10-06 01:46:52

NPIO 导出Execl的相关文章

在MySQL query browser中要导出execl表单

导出:  在MySQL query browser中要导出execl表单,只需要点击file,选择export execl就可以了(要先进入表单哦!). 导入: 数据库的数据太多一下导入有点麻烦,如何将excel的数据直接导入数据库呢? 第一步 另存为txt文档,名字最好为数据库的table名.  在这我们要保存问文本文件用制表符分割的那个,这样我们的数据就不会乱. 第二步 打开txt文档,点击另存为,修改编码,解决中文utf8.  这个时候的文件名必须和你要导入的table名称一样,否则在lo

js导出execl兼容ie Chrome Firefox各种主流浏览器(js export execl)

第一种导出table布局的表格 <html> <head> <meta charset="utf-8"> <script type="text/javascript" language="javascript"> var idTmr; function getExplorer() { var explorer = window.navigator.userAgent; //ie if(explore

asp.net中导出Execl的方法

一.asp.net中导出Execl的方法: 在 asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址 输出在浏览器上:一种是将文件直接将文件输出流写给浏览器.在Response输出时,\t分隔的数据,导出 execl时,等价于分列,\n等价于换行. 1.将整个html全部输出execl 此法将html中所有的内容,如按钮,表格,图片等全部输出到Execl中.   Response.Clear();       Response.Buffer=  

mvc 导出execl

mvc导出execl 必须是get方法才可以  也不能使用ajax function ComplaintsExport() { var serial = $("form").serialize(); window.location.href = "/BidComplaints/Complaints/ComplaintsExport?" + serial; }; [HttpGet] [Description("导出")] public FileRe

Asp.net中利用NPOI组件快速导入导出Execl数据

相信很多童鞋都开发过Execl的导入导出功能,最近产品中无论是后台数据分析的需要,还是前端满足用户管理的方便,都有Execl导入导出的维护需求产生. 以前做这个功能,如果是web,利用HttpContext.Current.Response.ContentType ="application/ms-excel";就可以导出html数据表格到execl中,这种方法的问题就是编码格式的兼容性太差,用Mac OS之类的 office打开直接乱码给你看.或者是调用office的COM组件,或宏

C#将DataTable导出Execl、Word、Xml

    /// <summary>     /// 将DT转换为Execl的方法     /// </summary>     /// <param name="dt">需要导出的DT     /// <param name="page">页面     /// <param name="fileName">文件名     public void ToExecl(DataTable dt,

不使用第三方组件,只调用COM,导出EXECL,但只装OFFICE2007,不装2003,直接强制引用动态库的方法

步骤1:强制引用动态库”Microsoft.Office.Interop.Excel“,版本为11.0: 步骤2:添加引用OFFICE2007的COM组件”MicroSoft Office 12.0 Object Library“(OFFICE2003的是MicroSoft Office 11.0 Object Library),添加完成后动态库为”microsoft.office.core“. 不使用第三方组件,只调用COM,导出EXECL,但只装OFFICE2007,不装2003,直接强制引

导出execl

导出Execl表格 /** * 导出集合方法封装 * @param list 需要导出的数据 * @return srModel 前台需要的uploadFile */ private BatchEduceDetailPMSrModel EduceDetail(List<OasPlMainDedail> list){ String srcPath = "D:"+FileUtil.separator; //ftp地址 String DescFile = AppConfig.ge

MVC 导出Execl 的总结几种方式 (二)

接着上面的来,继续导出Execl 的功能 使用FileResult 方式直接可以生产Execl ,这样我们将会写大量处理后台的代码,个人感觉不好,只是展示出来,提供参考 第一步:编辑控制器 public FileResult ExportFile() { var list = GetList(); var sbHtml = new StringBuilder(); string title = "order"; //标题 sbHtml.Append("<table bo