public void creerTableau(WorksheetPart worksheetPart, DataTable dt, int indice) { obtentionBornesColonnes(dt); //Obtention des titres pour la creation des colonnes de la tables List <string> titres = new List <string>(); foreach (DataColumn t in dt.Columns) { if (t.ColumnName != "style" && t.ColumnName != "graph") { if (t.ColumnName == " ") { titres.Add("%"); } else { titres.Add(t.ColumnName); } } } //ecriture des titres SheetData sd = worksheetPart.Worksheet.GetFirstChild <SheetData>(); Row rr = XcelWin.creerTitres(dt, 1); sd.AppendChild(rr); //ecriture des données int index = 2; foreach (DataRow r in dt.Rows) { rr = XcelWin.creerLigne(r, index, 0, nbColonneConfig); sd.AppendChild(rr); index++; } XcelWin.AddTableDefinitionPart(worksheetPart, titres, dt.Rows.Count + 1, dt.Columns.Count - nbColonneConfig, indice); TableParts tableParts1 = new TableParts() { Count = (UInt32Value)1U }; TablePart tablePart1 = new TablePart() { Id = "vId1" }; tableParts1.Append(tablePart1); worksheetPart.Worksheet.Append(tableParts1); }
//Remplissage de la feuille en mode Report (mode normal) public void creerFeuille(WorksheetPart worksheetPart, DataTable dt) { //Atention ne pas oublier l'obtention des bornes obtentionBornesColonnes(dt); SheetData sd = worksheetPart.Worksheet.GetFirstChild <SheetData>(); Row r = XcelWin.creerTitres(dt, 1); sd.AppendChild(r); int index = 2; r = new Row(); foreach (DataRow item in dt.Rows) { uint[] a = new uint[6]; if (indiceSyle != -1 && stylePath != null) { int tmp = Convert.ToInt32(item.ItemArray[indiceSyle]); a = lineStyles[tmp]; } if (indiceRubrique == 0 && indiceLibelle == 0) { r = XcelWin.creerLigne(item, index, a[0], nbColonneConfig); } else { r = creerLigne(item, index, a, nbColonneConfig); } sd.AppendChild(r); index++; } }