Hiển thị File Excel trong ASP.NET sử dụng C Sharp
Số trang: 13
Loại file: pdf
Dung lượng: 146.70 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Mục đích của bài viết này là làm thế nào để hiển thị chính xác giá trị hay nội dung của các Sheet, cả lời chú thích trong một trang aspx. Điều này có thể rất có ích cho người phát triển muốn làm về tự động trong MS Office. Chương trình gồm có 2 Panel, 1 Panel chứa các thành phần điều khiển, Panel còn lại là nơi thể hiện nội dung của file Excel.
Ta thấy quy trình tương đối đơn giản: Chọn File cần xem - tách File thành các Sheet - hiển thị các Sheet đó lên....
Nội dung trích xuất từ tài liệu:
Hiển thị File Excel trong ASP.NET sử dụng C Sharp Hiển thị File Excel trong ASP.NET sử dụng C Sharp Mục đích của bài viết này là làm thế nào để hiển thị chính xác giá trị hay nội dung của các Sheet, cả lời chú thích trong một trang aspx. Điều này có thể rất có ích cho người phát triển muốn làm về tự động trong MS Office. Chương trình gồm có 2 Panel, 1 Panel chứa các thành phần điều khiển, Panel còn lại là nơi thể hiện nội dung của file Excel. Ta thấy quy trình tương đối đơn giản: Chọn File cần xem -> tách File thành các Sheet -> hiển thị các Sheet đó lên. Trước hết, ta xử lý sự kiện click cho List button: protected static string m_strFileName = ; protected void btnAvailableShtAndChrt_Click(object sender, EventArgs e) { m_strFileName = txtfileValue.PostedFile.FileName; if (m_strFileName == ) { lblErrText.Text = File không Tồn tại; } else { string strTemp = m_strFileName.Substring(m_strFileName.Length - 3); strTemp = strTemp.ToUpper(); if (strTemp == XLS) { drpShtAndChrt.Items.Clear(); GetListofSheetsAndCharts(m_strFileName, true, drpShtAndChrt); } else { lblErrText.Text = File được chọn không đúng định dạng yêu cầu; } } } Trong hàm này, ta xây dựng Hàm GetListofSheetsAndCharts(m_strFileName, true, drpShtAndChrt) để tách File thành các Sheet và Chart, có nội dung như sau: public void GetListofSheetsAndCharts(string strFileName, bool bReadOnly, DropDownList drpList) { Excel.Workbook workbook = null; try { if (!bReadOnly) { // mở chế độ Write. workbook = appOP.Workbooks.Open(strFileName, 2, false, 5, , , true, Excel.XlPlatform.xlWindows, \t, false, true, 0, true, 1, 0); } else { // Mở chế độ Read workbook = appOP.Workbooks.Open(strFileName, 2, true, 5, , , true, Excel.XlPlatform.xlWindows, \t, false, true, 0, true, 1, 0); } // Đọc File Excel. object SheetRChart = null; int nTotalWorkSheets = workbook.Sheets.Count; int nIndex = 0; for (int nWorkSheet = 1; nWorkSheet { SheetRChart = workbook.Sheets[(object)nWorkSheet]; if (SheetRChart is Excel.Worksheet) { ListItem lstItemAdd = new ListItem(((Excel.Worksheet)SheetRChart).Name + *WorkSheet, nIndex.ToString(), true); drpList.Items.Add(lstItemAdd); lstItemAdd = null; nIndex++; } else if (SheetRChart is Excel.Chart) { ListItem lstItemAdd = new ListItem(((Excel.Chart)SheetRChart).Name + *Chart, nIndex.ToString(), true); drpList.Items.Add(lstItemAdd); lstItemAdd = null; nIndex++; } } if (workbook != null) { if (!bReadOnly) { // Đóng chế độ Write workbook.Save(); workbook = null; } else { // Đóng chế độ Read workbook.Close(false, false, Type.Missing); workbook = null; } } } catch (Exception expFile) { Response.Write(expFile.ToString()); } finally { if (workbook != null) { if (!bReadOnly) { // Đóng chế độ Write workbook.Save(); workbook = null; } else { // Đóng chế độ Read workbook.Close(false, false, Type.Missing); workbook = null; } } } } Ta để ý thấy hàm này có 3 tham số truyền vào: Tên File, Chế độ mở File và tên của DropDownList. Sau khi ta đã thực hiện xong bước tách File Excel thành các Sheet và chart, ta chỉ cần lựa chọn các Sheet hoặc các Chart để hiển thị lên. Ta xử lý sự kiện click nút Display: protected void btnDisplay_Click(object sender, EventArgs e) { if (drpShtAndChrt.SelectedIndex != -1) { string strSheetorChartName = drpShtAndChrt.SelectedItem.Text; // Ta phải xóa bỏ các ký tự * vì tên của các Sheet trong Excel không cho phép có kí tự này. char[] delimiterChars = { '*' }; string[] strTemp = strSheetorChartName.Split(delimiterChars); if (strTemp[1] == WorkSheet) { DisplayExcelSheet(m_strFileName, strTemp[0], true, lblErrText); } else if (strTemp[1] == Chart) { DisplayExcelSheet(m_strFileName, strTemp[0], true, lblErrText, true); } } } Ở trong hàm này ta phải kiểm tra xem ta lựa chọn File để hiển thị là Sheet hay là Chart. Ta dùng kỹ thuật Overloadding cho hàm DisplayExcelSheet() để thực hiện. Nếu là Sheet thì ta gọi hàm DisplayExcelSheet(m_strFileName, strTemp[0], true, lblErrText) với 4 tham số kèm theo. Còn ngược lại, nếu là Chart thì ta phải gọi hàm có 5 tham số. public bool DisplayExcelSheet(string strFileName, string strSheetRChartName, bool bReadOnly, Label lblErrorText) { return DisplayExcelSheet(strFileName, strSheetRChartName, bReadOnly, lblErrText, false); } public bool DisplayExcelSheet(string strFileName, string strSheetRChartName, bool bReadOnly, Label lblErrorText, bool bIsChart) { appOP.DisplayAlerts = false; Excel.Workbook workbook = null; Excel.Worksheet worksheet = null; Excel.Chart chart = null; try { if (!bReadOnly) { // Mở chế độ Write. workbook = appOP.Workbooks.Open(strFileName, 2, false, 5, , , true, Excel.XlPlatform. ...
Nội dung trích xuất từ tài liệu:
Hiển thị File Excel trong ASP.NET sử dụng C Sharp Hiển thị File Excel trong ASP.NET sử dụng C Sharp Mục đích của bài viết này là làm thế nào để hiển thị chính xác giá trị hay nội dung của các Sheet, cả lời chú thích trong một trang aspx. Điều này có thể rất có ích cho người phát triển muốn làm về tự động trong MS Office. Chương trình gồm có 2 Panel, 1 Panel chứa các thành phần điều khiển, Panel còn lại là nơi thể hiện nội dung của file Excel. Ta thấy quy trình tương đối đơn giản: Chọn File cần xem -> tách File thành các Sheet -> hiển thị các Sheet đó lên. Trước hết, ta xử lý sự kiện click cho List button: protected static string m_strFileName = ; protected void btnAvailableShtAndChrt_Click(object sender, EventArgs e) { m_strFileName = txtfileValue.PostedFile.FileName; if (m_strFileName == ) { lblErrText.Text = File không Tồn tại; } else { string strTemp = m_strFileName.Substring(m_strFileName.Length - 3); strTemp = strTemp.ToUpper(); if (strTemp == XLS) { drpShtAndChrt.Items.Clear(); GetListofSheetsAndCharts(m_strFileName, true, drpShtAndChrt); } else { lblErrText.Text = File được chọn không đúng định dạng yêu cầu; } } } Trong hàm này, ta xây dựng Hàm GetListofSheetsAndCharts(m_strFileName, true, drpShtAndChrt) để tách File thành các Sheet và Chart, có nội dung như sau: public void GetListofSheetsAndCharts(string strFileName, bool bReadOnly, DropDownList drpList) { Excel.Workbook workbook = null; try { if (!bReadOnly) { // mở chế độ Write. workbook = appOP.Workbooks.Open(strFileName, 2, false, 5, , , true, Excel.XlPlatform.xlWindows, \t, false, true, 0, true, 1, 0); } else { // Mở chế độ Read workbook = appOP.Workbooks.Open(strFileName, 2, true, 5, , , true, Excel.XlPlatform.xlWindows, \t, false, true, 0, true, 1, 0); } // Đọc File Excel. object SheetRChart = null; int nTotalWorkSheets = workbook.Sheets.Count; int nIndex = 0; for (int nWorkSheet = 1; nWorkSheet { SheetRChart = workbook.Sheets[(object)nWorkSheet]; if (SheetRChart is Excel.Worksheet) { ListItem lstItemAdd = new ListItem(((Excel.Worksheet)SheetRChart).Name + *WorkSheet, nIndex.ToString(), true); drpList.Items.Add(lstItemAdd); lstItemAdd = null; nIndex++; } else if (SheetRChart is Excel.Chart) { ListItem lstItemAdd = new ListItem(((Excel.Chart)SheetRChart).Name + *Chart, nIndex.ToString(), true); drpList.Items.Add(lstItemAdd); lstItemAdd = null; nIndex++; } } if (workbook != null) { if (!bReadOnly) { // Đóng chế độ Write workbook.Save(); workbook = null; } else { // Đóng chế độ Read workbook.Close(false, false, Type.Missing); workbook = null; } } } catch (Exception expFile) { Response.Write(expFile.ToString()); } finally { if (workbook != null) { if (!bReadOnly) { // Đóng chế độ Write workbook.Save(); workbook = null; } else { // Đóng chế độ Read workbook.Close(false, false, Type.Missing); workbook = null; } } } } Ta để ý thấy hàm này có 3 tham số truyền vào: Tên File, Chế độ mở File và tên của DropDownList. Sau khi ta đã thực hiện xong bước tách File Excel thành các Sheet và chart, ta chỉ cần lựa chọn các Sheet hoặc các Chart để hiển thị lên. Ta xử lý sự kiện click nút Display: protected void btnDisplay_Click(object sender, EventArgs e) { if (drpShtAndChrt.SelectedIndex != -1) { string strSheetorChartName = drpShtAndChrt.SelectedItem.Text; // Ta phải xóa bỏ các ký tự * vì tên của các Sheet trong Excel không cho phép có kí tự này. char[] delimiterChars = { '*' }; string[] strTemp = strSheetorChartName.Split(delimiterChars); if (strTemp[1] == WorkSheet) { DisplayExcelSheet(m_strFileName, strTemp[0], true, lblErrText); } else if (strTemp[1] == Chart) { DisplayExcelSheet(m_strFileName, strTemp[0], true, lblErrText, true); } } } Ở trong hàm này ta phải kiểm tra xem ta lựa chọn File để hiển thị là Sheet hay là Chart. Ta dùng kỹ thuật Overloadding cho hàm DisplayExcelSheet() để thực hiện. Nếu là Sheet thì ta gọi hàm DisplayExcelSheet(m_strFileName, strTemp[0], true, lblErrText) với 4 tham số kèm theo. Còn ngược lại, nếu là Chart thì ta phải gọi hàm có 5 tham số. public bool DisplayExcelSheet(string strFileName, string strSheetRChartName, bool bReadOnly, Label lblErrorText) { return DisplayExcelSheet(strFileName, strSheetRChartName, bReadOnly, lblErrText, false); } public bool DisplayExcelSheet(string strFileName, string strSheetRChartName, bool bReadOnly, Label lblErrorText, bool bIsChart) { appOP.DisplayAlerts = false; Excel.Workbook workbook = null; Excel.Worksheet worksheet = null; Excel.Chart chart = null; try { if (!bReadOnly) { // Mở chế độ Write. workbook = appOP.Workbooks.Open(strFileName, 2, false, 5, , , true, Excel.XlPlatform. ...
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật lập trình Phần cứng Công nghệ thông tin Tin học Quản trị mạngGợi ý tài liệu liên quan:
-
52 trang 429 1 0
-
24 trang 353 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 312 0 0 -
74 trang 295 0 0
-
96 trang 291 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 289 0 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 278 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 274 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 269 1 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 263 0 0