Di web, bagaimana cara membaca konten Word klien dan menampilkannya di halaman?
Saya menemukan ada dua metode, satu adalah mengoperasikan langsung di klien, dan yang lainnya adalah mengunggah kata klien ke server untuk dioperasikan. Masing-masing dari kedua metode ini memiliki karakteristiknya masing-masing.
Saya akan memberikan contoh operasi klien.
Pertama, tambahkan kode js berikut di .aspx
<script Language='javascript'>
//File konversi kata default ditempatkan di bawah C:\
var os__localPath = "C:\";
//nama file yang disimpan
var os__localFile = "defaultFileWord.htm";
var os__xmlDom = new ActiveXObject("MSXML2.DOMDocument");
var os__xmlFSO;
//Menyimpan data ke klien saat ini (Anda dapat memasukkan nama file untuk disimpan).
fungsi os_SaveToLocal()
{
var _saveAs = "";
if(argumen.panjang > 0)
_saveAs = argumen[0] + "";
kalau tidak
_saveAs = os__localFile;
mencoba
{
jika(os__xmlFSO == nol)
os__xmlFSO = new ActiveXObject("Scripting.FileSystemObject");
}
catch(e){window.alert(e);}
}
//Konversi file Word ke Html
fungsi WorcChangeHtml()
{
var os_xmlFSO;
//Dapatkan objek kontrol unggahan
var objUpFile = window.document.Form1.updFile;
//Dapatkan jalur dan file file Word klien
var UpFileValue = window.document.Form1.updFile.value;
jika(os__xmlFSO == nol)
os__xmlFSO = new ActiveXObject("Scripting.FileSystemObject");
mencoba
{
if(window.document.Form1.updFile.value == "")
{
alert('Silakan pilih file Word yang sesuai');
objUpFile.fokus();
}
lain jika(UpFileValue.indexOf(".doc") == -1)
{
alert('File yang Anda pilih bukan file WordrnSilakan pilih file Word yang benar');
objUpFile.fokus();
}
else if(!os__xmlFSO.FileExists(objUpFile.value))
{
alert('File Word yang bersangkutan tidak ada');
objUpFile.fokus();
}
kalau tidak
{
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.Tutup();
objWord.Keluar();
var GetHtml = GetLine();
var iBeginIndex = GetHtml.indexOf("<tubuh");
var iEndIndex = GetHtml.lastIndexOf("</body>");
GetHtml = GetHtml.substring(iBeginIndex,iEndIndex+7).replace("<body","<div");
GetHtml = GetHtml.replace("</body>","</div>");
//Menetapkan nilai yang dikonversi ke nilai kontrol halaman txtIdea. Untuk menyimpan nilai Word ke dalam database, saya menggunakan <input type = "hidden".... Jika Anda ingin menampilkan konten Word, Anda bisa pertimbangkan window.document.Form1. "ID kontrol tampilan Anda".innerText = GetHtml;
window.document.Form1.txtIdea.value = GetHtml;
}
}
catch(e){window.alert(e);}
}
//Baca file teks
fungsi GetLine()
{
var fso, file txt, strValue;
var UntukMembaca = 1, UntukMenulis = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
txtfile = fso.OpenTextFile(os__localPath+os__localFile, ForReading);
while(!txtfile.AtEndOfStream)
{
strValue = strValue + txtfile.ReadLine();
}
txtfile.Tutup();
kembali(strNilai);
}
</script>
Perhatikan bahwa 2 kontrol berikut dan peristiwa klien terkait perlu ditambahkan ke halaman.
<input id="updFile" type="file" style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; WIDTH: 77,46%; BORDER-BOTTOM: 1px solid; TINGGI: 26 piksel"
size="71"> <input style="BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; UKURAN FONT: 15pt; BORDER-LEFT: #999999 1px solid; WIDTH: 103px; BORDER- BAWAH: #999999 1 piksel padat; TINGGI: 28 piksel"
onclick="WorcChangeHtml()" runat="server" id="btnUpLoad" type="kirim" value="import" name="btnUpLoad">
<textarea style="LEBAR: 15,25%; TINGGI: 23 piksel" row = "50" cols="16" id="txtIdea"
runat="server">
Nilai dalam txtIdea adalah konten di klien Word. Catatan: Anda perlu menyesuaikan pengaturan keamanan IE, jika tidak maka tidak valid.