[問題] 請問大家一個有關匯出Excel的問題~~
我目前是使用VS 2005來開發系統,使用的語言是ASP.NET + C#,
並且使用內建的Excel套件來進行匯出的動作。
我目前所有的資料都可以正確的匯出,但我有幾個小問題無法解決。
1. 如何指定匯出的檔案的檔名呢??
我目前只能對每一個sheet的名字做更改,
但我希望可以讓使用者在預覽後可以直接用特定的名字(ex.今天的日期)存檔。
2. 如何更改預設的欄位屬性為「文字」或其他的屬性呢??
我在Blueshop上有看到像是
e.Cells[0].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
之類的方法,但因為我不是用Respone.Write()的方式匯出的,所以無法使用。
想請問版上的大家有沒有碰過類似的問題呢?!
最後附上我使用的程式碼
======================
object missing = System.Reflection.Missing.Value;
Excel.ApplicationClass ExcelApp = new Excel.ApplicationClass();
Excel._Workbook excelWorkBook =
ExcelApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
Excel._Worksheet excelWorkSheet = (Excel._Worksheet)excelWorkBook.ActiveSheet;
excelWorkSheet.get_Range("A2", "A2").Value2 = "訂單編號";
excelWorkSheet.get_Range("B2", "B2").Value2 = "訂購日期";
excelWorkSheet.get_Range("C2", "C2").Value2 = "訂單狀態";
//
// 以下省略
//
try
{
for (int i = 3; i < GridView1.Rows.Count + 3; i++)
{
// 使用excelWorkSheet.get_Range()匯出Gridview的資料
}
excelWorkSheet.get_Range("A3", Type.Missing).Columns.ColumnWidth = 20;
excelWorkSheet.get_Range("B3", Type.Missing).Columns.ColumnWidth = 20;
excelWorkSheet.get_Range("C3", Type.Missing).Columns.ColumnWidth = 20;
//
// 以下省略
//
======================
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.192.77
※ 編輯: Alwayswithu 來自: 140.119.192.77 (08/11 21:56)