Problème d'écriture du contenu HTML en document Word dans ASP.NET
Je suis en train d'exporter le contenu des pages HTML en Word.
Mon affichage Html de la page est:
- Quelle est votre couleur préférée?
NA
- Liste le top trois de l'école ?
Nationale
deux Devs
trois PS
Et un bouton pour l'événement click. L'événement click du bouton ouvrir MS word et coller le contenu de la page dans word.
Le mot page contient la table propriété de conception html de la page. Il se trouve seulement dans Word 2003. Mais dans word 2007 le document word contient le texte avec la propriété de table. Comment puis-je supprimer cette propriété de table dans word 2003.
Je ne suis pas en mesure d'ajouter les captures d'écran. Le reste je vais vous faire clair.
Je suis en train de concevoir la page web aspx. Je suis d'exporter le contenu de la page web par le code suivant.
protected void Button1_Click(object sender, EventArgs e)
{
Response.ContentEncoding = System.Text.Encoding.UTF7;
System.Text.StringBuilder SB = new System.Text.StringBuilder();
System.IO.StringWriter SW = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlTW = new System.Web.UI.HtmlTextWriter(SW);
tbl.RenderControl(htmlTW);
string strBody = "<html>" +
"<body>" + "<div><b>" + htmlTW.InnerWriter.ToString() + "</b></div>" +
"</body>" +
"</html>";
Response.AppendHeader("Content-Type", "application/msword");
Response.AppendHeader("Content-disposition", "attachment; filename=" + fileName);
Response.ContentEncoding = System.Text.Encoding.UTF7;
string fileName1 = "C://Temp/Excel" + DateTime.Now.Millisecond.ToString();
BinaryWriter writer = new BinaryWriter(File.Open(fileName1, FileMode.Create));
writer.Write(strBody);
writer.Close();
FileStream fs = new FileStream(fileName1, FileMode.Open, FileAccess.Read);
byte[] renderedBytes;
//Create a byte array of file stream length
renderedBytes = new byte[fs.Length];
//Read block of bytes from stream into the byte array
fs.Read(renderedBytes, 0, System.Convert.ToInt32(fs.Length));
//Close the File Stream
fs.Close();
FileInfo TheFile = new FileInfo(fileName1);
if (TheFile.Exists)
{
File.Delete(fileName1);
}
Response.BinaryWrite(renderedBytes);
Response.Flush();
Response.End();
}
Je ne suis pas en mesure d'ajouter des instantanés. Désolé de dire cela. Pouvez-vous me dire que ce sont toutes les informations dont vous avez besoin de plus pour comprendre
J'essaie de deviner ce que vous faites: vous prenez une page web à l'aide d'un programme C# (Windows application). Ensuite, vous "exporter" vers un document Word? Ou parlez-vous d'une ASP.NET application? Il n'est pas clair.
Oui splattne. Vous êtes de droite. Je suis d'exporter le contenu de la page web dans word.
Utilisez-vous le langage C# dans ASP.NET ou dans une application Windows Forms? Ou pensez-vous le faire "manuellement" dans le navigateur web?
OriginalL'auteur | 2009-04-29
Vous devez vous connecter pour publier un commentaire.
Vous êtes l'écriture de code HTML, affirmant qu'il est de "type de contenu application/msword", puis, en espérant pour le mieux..
Il y a plus de "corriger" les voies et moyens pour atteindre votre objectif.
Il y a quelques projets autour de conversion de (X)HTML pour WordML de contenu, de ce qui docx4j-ImportXHTML.NET est un. Divulgation: je maintiens que; vous pouvez trouver des liens vers d'autres ailleurs ici sur StackOverflow.
Alternativement, vous pouvez utiliser Word altChunk mécanisme, si note:
OriginalL'auteur JasonPlutext
Question n'est pas claire.
Bien, ces liens peuvent vous aider dans la compréhension de MSWord-C# automation:
http://www.codeproject.com/KB/cs/Simple_Ms_Word_Automation.aspx
http://www.c-sharpcorner.com/UploadFile/amrish_deep/WordAutomation05102007223934PM/WordAutomation.aspx
OriginalL'auteur NinethSense
Vous pouvez également essayer de créer un document Open XML qui est maintenant reconnu par MS office.
Voici quelques infos avec des exemples de code:
http://msdn.microsoft.com/en-us/library/bb656295.aspx
OriginalL'auteur lstanczyk
De ce que je comprends, vous êtes en train de créer un document ms word à la volée et ont de la difficulté à quand la sortie est affichée dans Word 2003 et 2007.
Dans votre code ci-dessus, vous êtes tout simplement cracher html et en l'obligeant à être un document ms word. Je suis surpris qu'il fonctionne même.
Au lieu de cela, vous pouvez utiliser Office Interop (Microsoft.Bureau de.Interop.Word) ou installer DocX à l'aide de nuget. Regardez quelques exemples en ligne, recherche pour "C# créer word doc".
OriginalL'auteur kmxr