如何实现打印服务器上的一个excel文件?

服务器上有用户上传的excel文件

如何实现点击一个网页上的按钮,直接弹出打印预览,并且可以直接打印?

网上找了一些方案,转pdf和html都会有格式损失,要么就是有excel预览的环节,这个需求是否可以实现呢?

阅读 3.1k
3 个回答

实现不了. 浏览器不认识excel.

方案1 用你的服务端语言读取这个文件,转换用excel导入这类扩展导入到数据库(也可以不存),然后将多维数组里的数据进行你所需的排版。
方案2 excel转pdf或者图片,打印出来

  1. 你需要 Windows 服务器
  2. 你需要在 Windows 服务器上安装微软 office
  3. 你需要调用微软提供的 COM 接口,让 MS Office 把文档打印成 PDF

实现起来可以是在 Windows 服务器上运行一个代理程序,前端第一次请求打印时,Web服务器请求代理程序,代理程序接收 Web 服务器的请求,开始打印 PDF,完成后保存到公共存储(比如aliyun对象存储或者内网NFS)。

整个过程中,前端轮询,Web 服务器检查打印是否完成。完成则返回前端。

中间错误处理之类、异步交互很复杂就不谈了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题