- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
在WEB项目中经常遇到excel文档在线预览的需求,基本的解决思路有以下几大类:excel文档转PDF、excel文档直接转html、后台读取excel数据返回给前端利用Excel效果的表格插件如(HandsonTable)将数据进行展示、部署微软Office Online服务(office web apps)实现在线预览、在线的office预览服务(如谷歌docs、微软officeapps).
EXCEL转HTML 。
excel转html可以通过第三方工具openoffice、微软office或者第三方类库如POI/NPOI、aspose.cell等转换为html文件。其中POI组件是开源免费的,Java版本叫POI,C#版本叫NPOI。但是转换的效果不是很好,有多个sheet页面的时候,POI会将所有sheet表格展示在一个网页里面,表格顶部会显示sheet名称,如果sheet很多的话页面会很长,出现滚动条页面样式不是很美观.
aspose.cells是收费组件,支持java、.net、.net core,免费使用时候转换出的html页面会有水印“Evaluation Only. Created with Aspose.Cells”如果excel存在多个sheet,aspose转换出来的网页会带选项卡,点击选项卡会展示对应的sheet页面内容,展示效果比POI转换出的html效果的好.
首先在后台使用aspose读取excel文件并返回转换好的html文件目录返回给前台 。
private readonly ILogger _logger; private readonly IWebHostEnvironment _webHostEnvironment,
public HomeController(ILogger<HomeController> logger, IWebHostEnvironment webHostEnvironment)
{
_logger = logger;
_webHostEnvironment = webHostEnvironment;
}
public IActionResult Index()
{
return View();
}
public IActionResult Privacy()
{
return View();
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
/// <summary>
/// 返回html地址
/// </summary>
/// <returns></returns>
public string ExcelToHtml()
{
//程序根目录
string rootpath = _webHostEnvironment.ContentRootPath;
//程序下webroot根目录
string webRootPath = _webHostEnvironment.WebRootPath;
string filepath = webRootPath + "\\excelFile\\test.xlsx";
//读取模板路径
Workbook book = new Workbook(filepath);
//filePath为保存文件的地址,需要服务端底下可以正常访问的路径
book.Save(webRootPath+ "\\excelFile\\test.html", SaveFormat.Html);
return "\\excelFile\\test.html";
}
前端接收到后台返回的地址进行一个展示 。
@{
ViewData["Title"] = "Home Page";
}
<script type="text/javascript">
//预览excel
function ExcelToHtml() {
$.ajax({
url: "/Home/ExcelToHtml",
data: "",
type: "get",
async: false,
success: function (data) {
debugger
console.log(data)
//获得窗口的垂直位置
var iWidth = 1400;
var iHeight = 800;
var iTop = (window.screen.availHeight - 30 - iHeight) / 2;
//获得窗口的水平位置
var iLeft = (window.screen.availWidth - 10 - iWidth) / 2;
window.open(data, '_blank', 'height=' + iHeight + ',innerHeight=' + iHeight + ',width=' + iWidth + ',innerWidth=' + iWidth + ',top=' + iTop + ',left=' + iLeft + ',status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=0,titlebar=no');
},error(err)
{
debugger
}
});
}
</script>
<div class="text-center">
<h1 class="display-4">Welcome</h1>
<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
<button onclick="ExcelToHtml()">预览excel</button>
</div>
效果如下 。
最后此篇关于Aspose.Cells实现excel预览的文章就讲到这里了,如果你想了解更多关于Aspose.Cells实现excel预览的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在使用 Aspose 来处理 PDF 和 Word 文档。每次我要对文档做一些事情时,我一定要这样称呼: Aspose.Pdf.License pdfLicense = new Aspose.Pd
我们有一个报告项目,我们在其中使用 .NET 框架动态创建 Excel 报告。使用的不同组件是 System Namespace、Aspose.Cell 和 Aspose.Excel 我们有一份报告,
我的 excel 有数百万条记录(大约 1.1M),当我尝试使用 WorkSheet.Cells[row,cloumn] 逐个单元格读取时,速度非常慢。 相反,如果我使用 WorkSheet.Cell
在WEB项目中经常遇到excel文档在线预览的需求,基本的解决思路有以下几大类:excel文档转PDF、excel文档直接转html、后台读取excel数据返回给前端利用Excel效果的表格插件如
本文实例为大家分享了Aspose.Cells导出excel文件的方法,供大家参考,具体内容如下 ?
在 Aspose 和电子表格设备中,在将数据从数据库传输到 Excel 以及使用 C# 在 Excel 工作表中读取数据时,哪一个是最好的,或者还有其他更好的建议。这还应该包括通过 C# 应用条件格式
我们正在使用 Aspose PDF 并面临以下问题,这些问题有点令人讨厌: Aspose PDF 不会释放内存。我们已将 object 设置为 null 但它们不释放内存。结果 - 在我的 Web 服
我在设置包含“&”之类的网页标题文本时遇到了问题。 pdf中“&”后的文本消失了,可能是因为它是 Aspose 中的保留键。我的代码如下所示: PageSetup pageSetup = workb
我想生成第一页的缩略图。尝试生成以下页面,无法打印具有良好分辨率的图像,应该在缩放时显示具有良好分辨率的图像。即使我们可以选择打印前几列的缩略图也可以。请提出建议。 Workbook book = n
当我必须将 Word 文档转换为 png 图像时,我遇到了问题。 word文档里面有一个条形码(我已经附加了word进行转换)。使用 aspose 10.5,生成的 png 可以完美打印条形码,并且可
我想使用 C# 读取 pdf 文件中包含的 pdf417 条码的内容。我写了下面的代码: [...] // bind the pdf document Aspose.Pdf.Facades.PdfEx
我正在使用 aspose cells、word 来处理 csv 文件并将其复制到 Word 模板中,最后将其转换为 Pdf。在开发环境中它就像一个魅力,但是在生产环境中我有一些像 ö 这样的字母,它不
在使用 Aspose 将 docx 文件转换为 pdf 文件时,我得到了这个heap size 错误。这是代码 这个 docx 文件是 44Mb public void convertDoc(Stri
我正在为 java 使用 aspose-words-15.6.0 api。我想根据页码将页面方向更改为纵向或横向。 场景: 我有一个包含 3 页的 doc,我希望页面方向如下: 第一页:肖像。 第二页
我正在使用这些 jar 文件将 excel 和 power point 文件转换为 PDF aspose.slides-6.7.0.jar aspose.slides-6.7.0-jdk14.jar
最近遇到一个需求,要能够读取受密码保护的Excel内容,之前都是直接读取Excel中的数据,不需要做任何其他的处理. 当Excel双击的时候,需要输入密码,在使用Aspose.Cells 组件读取
我正在尝试为单元格的背景添加颜色,如下所示: style.BackgroundColor = Color.LightBlue; style.Pattern = BackgroundType.Solid
我正在尝试遍历数据集,使用Aspose.Words 邮件合并功能为每个项目创建一个页面。下面的代码循环遍历 Dataset - 并将一些值传递给 Mail-Merge Execute 函数。 var
我正在使用 aspose-slides-17.3-jdk16.jar for java。我想自定义 PPT 中幻灯片的页面设置。 任何帮助将不胜感激。 最佳答案 我观察到您使用 Aspose.Slid
我正在尝试遍历数据集,使用Aspose.Words 邮件合并功能为每个项目创建一个页面。下面的代码循环遍历 Dataset - 并将一些值传递给 Mail-Merge Execute 函数。 var
我是一名优秀的程序员,十分优秀!