//訪視導出
[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