Avatar billede ihtezaz Praktikant
22. november 2004 - 13:52 Der er 5 kommentarer og
1 løsning

Linie skift når man eksporter til MS Excel

Hej

Jeg eksporter noget data som excel fil, i den forbindelse skal jeg lave linieskift i cellerne,...jeg har prøvet med Environment.NewLine og \n men det virker ikke helt. hvordan opnår jeg dette ??

På forhånd tak.
Avatar billede arne_v Ekspert
22. november 2004 - 14:01 #1
Hvordan eksporterer du til Excel ?

POI ?

JDBC ODBC bridge ?
Avatar billede arne_v Ekspert
22. november 2004 - 14:02 #2
Environment.NewLine lyder mere .NET end Java.
Avatar billede ihtezaz Praktikant
22. november 2004 - 14:14 #3
Det rigtig det er .NET, men findes der en funktionalitet i java el. c# så når jeg eksporter en streng til en celle, at jeg kan skriv for at opnå linieskift?

Jeg eksporter med denne metode :

public string DataTable2ExcelString(DataTable dt)
        {
            StringBuilder sbTop = new StringBuilder();
            sbTop.Append("<html xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" ");
            sbTop.Append("xmlns=\"http://www.w3.org/TR/REC-html40\"><head><meta http-equiv=Content-Type content=\"text/html; charset=windows-1252\">");
            sbTop.Append("<meta name=ProgId content=Excel.Sheet><meta name=Generator content=\"Microsoft Excel 9\"><!--[if gte mso 9]>");
            sbTop.Append("<xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>" + dt.TableName + "</x:Name><x:WorksheetOptions>");
            sbTop.Append("<x:Selected/><x:ProtectContents>False</x:ProtectContents><x:ProtectObjects>False</x:ProtectObjects>");
            sbTop.Append("<x:ProtectScenarios>False</x:ProtectScenarios></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets>");
            sbTop.Append("<x:ProtectStructure>False</x:ProtectStructure><x:ProtectWindows>False</x:ProtectWindows></x:ExcelWorkbook></xml>");
            sbTop.Append("<![endif]--></head><body><table>");
            string bottom = "</table></body></html>";
            StringBuilder sb = new StringBuilder();
            //Header
            sb.Append("<tr>");
            for (int i=0; i<dt.Columns.Count; i++)
            {
                sb.Append("<td>" + dt.Columns[i].ColumnName + "</td>");
            }
            sb.Append("</tr>");

            //Items
            for (int x=0; x<dt.Rows.Count; x++)
            {
                sb.Append("<tr>");
                for (int i=0; i<dt.Columns.Count; i++)
                {
                    sb.Append("<td>" + dt.Rows[x][i] + "</td>");
                }
                sb.Append("</tr>");
            }

            string SSxml = sbTop.ToString() + sb.ToString() + bottom;

            return SSxml;
        }
Avatar billede william_munny Nybegynder
24. november 2004 - 11:27 #4
Ok det ser meget interessant ud hvad gør du siden hen med denn XML/HTML? Spøger af interesse da jeg har selv leget med JAVA og Excel hvor jeg har brugt POI til det. Ved der findes mange formaterings funktioner i POI men har ikke set denne metode før.
Avatar billede ihtezaz Praktikant
25. november 2004 - 18:21 #5
Hej

Det er lavet i C#.NET, metoden modtager en datatabel, og indsætter tabellen i et excel sheet. Fandt desuden ud af, jeg kunne bruge <BR> til linieskift, funktionen giver mulighed for at bruge de mest brugte html tags. Men tak for indlæggene.
Avatar billede ihtezaz Praktikant
25. november 2004 - 18:21 #6
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester