
some_one
|
Voici une classe que tu peut utliser pour ecrire dans un fichier Excel
class CreateExcelDoc { private Excel.Application app = null; private Excel.Workbook workbook = null; private Excel.Worksheet worksheet = null; private Excel.Range workSheet_range = null; public CreateExcelDoc() { createDoc(); }
public void createDoc() { try { app = new Excel.Application(); app.Visible = true; workbook = app.Workbooks.Add(1); worksheet = (Excel.Worksheet)workbook.Sheets[1]; } catch (Exception e) { Console.Write("Error"); } finally { } }
public void createHeaders(int row, int col, string htext, string cell1, string cell2, int mergeColumns, string b, bool font, int size, string fcolor) { worksheet.Cells[row, col] = htext; workSheet_range = worksheet.get_Range(cell1, cell2); workSheet_range.Merge(mergeColumns); switch (b) { case "YELLOW": workSheet_range.Interior.Color = System.Drawing.Color.Yellow.ToArgb(); break; case "GRAY": workSheet_range.Interior.Color = System.Drawing.Color.Gray.ToArgb(); break; case "GAINSBORO": workSheet_range.Interior.Color = System.Drawing.Color.Gainsboro.ToArgb(); break; case "Turquoise": workSheet_range.Interior.Color = System.Drawing.Color.Turquoise.ToArgb(); break; case "PeachPuff": workSheet_range.Interior.Color = System.Drawing.Color.PeachPuff.ToArgb(); break; default: // workSheet_range.Interior.Color = System.Drawing.Color..ToArgb(); break; } workSheet_range.Borders.Color = System.Drawing.Color.Black.ToArgb(); workSheet_range.Font.Bold = font; workSheet_range.ColumnWidth = size; if (fcolor.Equals("")) { workSheet_range.Font.Color = System.Drawing.Color.White.ToArgb(); } else { workSheet_range.Font.Color = System.Drawing.Color.Black.ToArgb(); } } public void addData(int row, int col, string data, string cell1, string cell2, string format) { worksheet.Cells[row, col] = data; workSheet_range = worksheet.get_Range(cell1, cell2); workSheet_range.Borders.Color = System.Drawing.Color.Black.ToArgb(); workSheet_range.NumberFormat = format; } }
Pour utiliser cette classe tu peux faire appel par exemple par cette methode
protected void Button6_Click(object sender, EventArgs e) { CreateExcelDoc excell_app = new CreateExcelDoc(); //creates the main header excell_app.createHeaders(5, 2, "Total of Products", "B5", "D5", 2, "YELLOW", true, 10, "n"); //creates subheaders excell_app.createHeaders(6, 2, "Sold Product", "B6", "B6", 0, "GRAY", true, 10, ""); excell_app.createHeaders(6, 3, "", "C6", "C6", 0, "GRAY", true, 10, ""); excell_app.createHeaders(6, 4, "Initial Total", "D6", "D6", 0, "GRAY", true, 10, ""); //add Data to to cells excell_app.addData(7, 2, "114287", "B7", "B7", "#,##0"); excell_app.addData(7, 3, "", "C7", "C7", ""); excell_app.addData(7, 4, "129121", "D7", "D7", "#,##0"); //add percentage row excell_app.addData(8, 2, "", "B8", "B8", ""); excell_app.addData(8, 3, "=B7/D7", "C8", "C8", "0.0%"); excell_app.addData(8, 4, "", "D8", "D8", ""); //add empty divider excell_app.createHeaders(9, 2, "", "B9", "D9", 2, "GAINSBORO", true, 10, ""); }
Je crois qu'il faut ajouter une reference COM Microsoft.Excel quelque chose comme ça
J'espere que ça va t'aider. Bonne journée
|