Wie kann ich im Internet den Word-Inhalt des Clients lesen und auf der Seite anzeigen?
Ich habe festgestellt, dass es zwei Methoden gibt: Die eine besteht darin, direkt auf dem Client zu arbeiten, und die andere besteht darin, das Wort des Clients zur Ausführung auf den Server hochzuladen. Jede dieser beiden Methoden hat ihre eigenen Vor- und Nachteile.
Ich werde ein Beispiel für den Client-Betrieb geben.
Fügen Sie zunächst den folgenden JS-Code in .aspx hinzu:
<script language='javascript'>
// Die Standard-Wortkonvertierungsdatei wird unter C:\ abgelegt.
var os__localPath = "C:\";
//gespeicherter Dateiname
var os__localFile = "defaultFileWord.htm";
var os__xmlDom = new ActiveXObject("MSXML2.DOMDocument");
var os__xmlFSO;
//Daten auf dem aktuellen Client speichern (Sie können einen zu speichernden Dateinamen übergeben).
Funktion os_SaveToLocal()
{
var _saveAs = "";
if(arguments.length > 0)
_saveAs = arguments[0] + "";
anders
_saveAs = os__localFile;
versuchen
{
if(os__xmlFSO == null)
os__xmlFSO = new ActiveXObject("Scripting.FileSystemObject");
}
Catch(e){window.alert(e);}
}
//Word in HTML-Datei konvertieren
Funktion WorcChangeHtml()
{
var os_xmlFSO;
//Das Upload-Kontrollobjekt abrufen
var objUpFile = window.document.Form1.updFile;
//Den Pfad und die Datei der Client-Word-Datei abrufen
var UpFileValue = window.document.Form1.updFile.value;
if(os__xmlFSO == null)
os__xmlFSO = new ActiveXObject("Scripting.FileSystemObject");
versuchen
{
if(window.document.Form1.updFile.value == "")
{
warning('Bitte wählen Sie die entsprechende Word-Datei aus');
objUpFile.focus();
}
sonst if(UpFileValue.indexOf(".doc") == -1)
{
warning('Die von Ihnen ausgewählte Datei ist keine Word-DateirnBitte wählen Sie die richtige Word-Datei aus');
objUpFile.focus();
}
sonst if(!os__xmlFSO.FileExists(objUpFile.value))
{
alarm('Die entsprechende Word-Datei existiert nicht');
objUpFile.focus();
}
anders
{
var wdFormatHTML = 8;
var objWord = new ActiveXObject("Word.Application");
objWord.Application.Visible = false;
var objDoc = objWord.Documents.Open(UpFileValue);
objDoc.SaveAs(os__localPath+os__localFile, wdFormatHTML);
window.document.Form1.updFile.value = "";
objDoc.Close();
objWord.Quit();
var GetHtml = GetLine();
var iBeginIndex = GetHtml.indexOf("<body");
var iEndIndex = GetHtml.lastIndexOf("</body>");
GetHtml = GetHtml.substring(iBeginIndex,iEndIndex+7).replace("<body","<div");
GetHtml = GetHtml.replace("</body>","</div>");
//Weisen Sie den konvertierten Wert dem Wert des Seitensteuerelements txtIdea zu. Um den Word-Wert in der Datenbank zu speichern, verwende ich <input type = "hidden".... Wenn Sie den Word-Inhalt anzeigen möchten, können Sie dies tun Betrachten Sie window.document.Form1. „Ihre Anzeigesteuerelement-ID“.innerText = GetHtml;
window.document.Form1.txtIdea.value = GetHtml;
}
}
Catch(e){window.alert(e);}
}
//Textdatei lesen
Funktion GetLine()
{
var fso, txtfile, strValue;
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
txtfile = fso.OpenTextFile(os__localPath+os__localFile, ForReading);
while(!txtfile.AtEndOfStream)
{
strValue = strValue + txtfile.ReadLine();
}
txtfile.Close();
return(strValue);
}
</script>
Beachten Sie, dass die folgenden zwei Steuerelemente und entsprechenden Client-Ereignisse zur Seite hinzugefügt werden müssen.
<input id="updFile" type="file" style="BORDER-RIGHT: 1 Pixel durchgehend; BORDER-TOP: 1 Pixel durchgehend; BORDER-LEFT: 1 Pixel durchgehend; BREITE: 77,46 %; BORDER-BOTTOM: 1 Pixel durchgehend; HÖHE: 26px"
size="71"> <input style="BORDER-RIGHT: #999999 1px durchgehend; BORDER-TOP: #999999 1px durchgehend; FONT-SIZE: 15pt; BORDER-LEFT: #999999 1px durchgehend; BREITE: 103px; BORDER- UNTEN: #999999 1 Pixel, HÖHE: 28 Pixel
onclick="WorcChangeHtml()" runat="server" id="btnUpLoad" type="submit" value="import" name="btnUpLoad">
<textarea style="WIDTH: 15,25 %; HEIGHT: 23px" rows="50" cols="16" id="txtIdea"
runat="server">
Der Wert in txtIdea ist der Inhalt im Client-Word. Hinweis: Sie müssen die Sicherheitseinstellungen von IE anpassen, sonst ist er ungültig.