C#數據導出

//訪視導出
        [HttpPost]
        public string exportExcel()
        {
            String DownloadPath = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("."), "download\\FS").Replace("\\WebService", "");
            string path = DownloadPath + "\\FS";
            //建立目錄
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string TemplatesPath = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("."), "Template\\FSExcel.xlsx").Replace("\\WebService", "");
            string Name = "訪視" + System.DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xlsx";
            List<DataTable> list = new List<DataTable>();
            for (int i = 1; i <= 13; i++)
            {
                string sql = "select * from FS_" + i;
                list.Add(TDataBase.TDatabase.ExecuteDataTable(sql));
            }
            DataTableToExcel(list, DownloadPath, TemplatesPath, Name);
            return Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(Name)); 
            
        }sql

 

 

        /// <summary>
        /// DataTable導出到Excel
        /// </summary>
        /// <param name="dataTable">DataTable</param>
        /// <param name="SavePath">保存路徑</param>
        /// <param name="templatePath">模板路徑</param>
        /// <param name="isFieldNameShown">是否顯示列頭</param>
        /// <param name="firstRow">行的起始索引</param>
        /// <param name="firstColumn">列的起始索引</param>
        /// <returns>保存路徑</returns>
        public static string DataTableToExcel(List<DataTable> list ,string SavePath, string templatePath, string Name, bool isFieldNameShown = true, int firstRow = 1, int firstColumn = 0)
        {
            string SavePath1 = SavePath + "\\" + Name;
            Workbook workbook = new Workbook();
            workbook.Open(templatePath);
            try
            {
                for (int i = 0; i < list.Count; i++)
                {
                    workbook.Worksheets[i].Cells.ImportDataTable(list[i], isFieldNameShown, firstRow, firstColumn);
                    workbook.Worksheets[i].Cells.DeleteRow(1);
                    workbook.Worksheets[i].AutoFitRows();
                    workbook.Worksheets[i].AutoFitColumns();
                }
                workbook.Save(SavePath1);
                return SavePath1;
            }
            catch (Exception error)
            {
                return error.Message;
            }
        }索引

    }string

相關文章
相關標籤/搜索