예제 #1
0
        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);
        }
예제 #2
0
        //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++;
            }
        }