Avatar billede dragnor Juniormester
23. august 2007 - 16:07 Der er 6 kommentarer og
1 løsning

doc i asp.net

Hej eksperter

Jeg håber nogen kan hjælpe mig med dette vanskelige problem.

Jeg kunne godt tænke mig at have word doc filer liggende på  mit webhotel, jeg kan sagtens finde ud af at uploade dem og hente dem igen. Men hvordan kan jeg åbne dem fra serveren og så redigere i dem hvorefter jeg så gemme dem igen på serveren? Dvs. overskrive, opdatere eller erstatte den eksisterende fil som ligger på serveren?
Avatar billede arne_v Ekspert
24. august 2007 - 03:24 #1
Der skal du bruge et eller andet der kender Word.

Enten en traditionel COM komponent eller noget af det nye .NET for Office.

Jeg tror ikke at det er helt nemt og jeg er ikke sikker på at de kan køres
fra ASP.NET med et rimeligt højt sikkerheds niveau.

Men du kan starte med:

http://www.codeproject.com/aspnet/wordapplication.asp
http://p2p.wrox.com/topic.asp?TOPIC_ID=40025
http://www.c-sharpcorner.com/UploadFile/mgold/CreatingandOpeningMicrosoftDocumentfrom.NETUsingCSharp11262005050939AM/CreatingandOpeningMicrosoftDocumentfrom.NETUsingCSharp.aspx
http://www.aspose.com/Products/Aspose.Words/Api/index.html
http://officewriter.softartisans.com/officewriter-8.aspx
Avatar billede dragnor Juniormester
24. august 2007 - 09:43 #2
Kan man eventuelt konvertere til et andet format og arbejde med det i stedet for? Altså et med samme muligheder for opstilling som word tilbyder.
Avatar billede arne_v Ekspert
25. august 2007 - 01:46 #3
HTML
RTF
diverse XML formater
Avatar billede dragnor Juniormester
26. august 2007 - 20:45 #4
Har du noget kode/link til et godt og enkelt eksempel på hvordan man åbner og ændre i RTF filer, hvor man samtidig kan bibeholde designet? For så kan jeg jo bare konvertere mine word doc om til RTF.
Avatar billede arne_v Ekspert
27. august 2007 - 00:39 #5
test.doc:

en 2 x 2 tabel med:

$XXX$    $YYY$
$ZZZ$    $WWW$

gemmes som test.rtf

Kode:

        public static void Replace(string infnm, string outfnm, Dictionary<String,String> replace)
        {
            StreamReader sr = new StreamReader(infnm);
            string content = sr.ReadToEnd();
            sr.Close();
            foreach(string key in replace.Keys)
            {
                content = content.Replace(key, replace[key]);
            }
            StreamWriter sw = new StreamWriter(outfnm);
            sw.Write(content);
            sw.Close();
        }

og til test:

            Dictionary<String,String> replace = new Dictionary<String,String>();
            replace.Add("$XXX$", "Id");
            replace.Add("$YYY$", "X");
            replace.Add("$ZZZ$", "1");
            replace.Add("$WWW$", "177.49");
            Replace(@"C:\test.rtf", @"C:\test2.rtf", replace);

Og den resulterende test2.rtf ser nydelig ud og tabellen er bevaret.
Avatar billede arne_v Ekspert
27. august 2007 - 00:40 #6
En lidt primitiv løsning.

Men de mere avancerede løsninger kræver nok også mere kode.
Avatar billede arne_v Ekspert
22. september 2007 - 21:14 #7
OK ?
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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