
1.像以前的百度文库那样,先转换成flash,然后放在网页上。
说明:使用软件OpenOffice/LibreOffice,swftools。
优点:在国内,由于Flash安装量很大,而且很多人用IE和Chrome内核的浏览器,所以是可以查看的。
缺点:OpenOffice/LibreOffice转换的结果可能会丢失格式/排版(我没试过所以不知道会不会),而且比较耗服务器资源,如果浏览器没装Flash就没法查看文档了,尤其是移动端。
2.转换成PDF,然后用Mozilla的pdf.js查看。
说明:转换成PDF的方法可以用OpenOffice/LibreOffice,也可以用七牛的第三方服务“文档转换”(由亿方云提供)。
优点:如果是把文件存放在七牛云,用在线的服务会比较有保障,加载速度也快。
缺点:收费,不过费用很低廉,pdf.js可能比较大,加载相对慢点,放到七牛上面会好些,对移动端支持不好。
3.转换成HTML,像现在的百度文库那样。
说明:使用PHPOffice和PDFtoHTML将文档转换成HTML直接在浏览器输出,类似现在的百度文库。
优点:浏览器无需安装任何插件,也不用担心兼容性问题,还支持移动端。
缺点:可能会丢失格式,而且用户可以直接拷贝文档内容,如果是扣积分下载的话,可能达不到目的。
js 调用winAPI html5 没这功能
具体能容自己修改
<html xmlns="<meta charset="UTF-8">
<head>
<title>Untitled Page</title>
</head>
<script language="javascript" type="text/javascript">
function importXLS(fileName)
{
objCon = new ActiveXObject("ADODB.Connection")
objCon.Provider = "Microsoft.Jet.OLEDB.4.0"
objCon.ConnectionString = "Data Source=" + fileName + "Extended Properties=Excel 8.0"
objCon.CursorLocation = 1
objCon.Open
var strQuery
//Get the SheetName
var strSheetName = "Sheet1$"
var rsTemp = new ActiveXObject("ADODB.Recordset")
rsTemp = objCon.OpenSchema(20)
if(!rsTemp.EOF)
strSheetName = rsTemp.Fields("Table_Name").Value
rsTemp = null
rsExcel = new ActiveXObject("ADODB.Recordset")
strQuery = "SELECT * FROM [" + strSheetName + "]"
rsExcel.ActiveConnection = objCon
rsExcel.Open(strQuery)
while(!rsExcel.EOF)
{
for(i = 0i<rsExcel.Fields.Count++i)
{
alert(rsExcel.Fields(i).value)
// 在这里为你的表格设计样式
}
rsExcel.MoveNext
}
// Close the connection and dispose the file
objCon.Close
objCon =null
rsExcel = null
}
</script>
</head>
<body>
<input type="file" id="f" />
<input type="button" id="b" value="import" onclick="if(f.value=='')alert('请选择xls文件')else importXLS(f.value)" />
</body>
</html>
在IE中使用
Apache poi 和jxl 都可以jxl是一个韩国人写的java *** 作excel的工具, 在java的开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI(即jxl)。jxl功能相对POI比较弱一点。
但jExcelAPI对中文支持非常好,API是纯Java的, 不依赖Windows系统,即使运行在Linux下,也同样能够正确的处理Excel文件。 需要补充说明的是,jxl对图形和图表的支持很有限,而且 仅仅识别PNG格式的图片。
对jxl和POI进行一次简单的比较:
POI不支持写入图片(jxl支持,但是只支持png格式的图片)
POI对公式的支持比较好,jxl对公式的支持不如POI。所以财务软件用POI较好
多少数据量时出现内存溢出:
使用POI:运行到2800条左右就报内存溢出,使用jxl到3000条左右报内存溢出
读取excel速率:POI优于jxl
插入数据速率:jxl优于POI
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)