请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

IvanBy
金牌服务用户   /  发表于:2016-10-19 10:50  /   查看:12747  /  回复:35
1、本来在MS Excel中设置好了的横向排版或者是分页设置,导入到SpreadJS中,然后再导出为MS Excel,发现文档已经变为纵向排版了或者其它的分页设置也丢失了。

横向排版变为纵向排版,直接的后果就是打印的时候导致打印排版也是错误的。

2、另外,即使直接使用SpreadJS的spread.print()方法,打印出来的也会有这个问题,版式也和Excel的不一样。


这个有什么解决办法?对于业务系统来说,用户需要能把表单打印出来签名或者存档的。



1

1

2

2

3

3

4

4

5

5

35 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-10-19 12:10:40
沙发
您好,我这里简单测试了一下设置页面布局,纸张方向为横向,然后spread导入导出后还是横向,可不可以帮您设置好的Excel发过来。
回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2016-10-19 14:02:16
板凳
dexteryao 发表于 2016-10-19 12:10
您好,我这里简单测试了一下设置页面布局,纸张方向为横向,然后spread导入导出后还是横向,可不可以帮您设 ...

横向.xlsx (10.9 KB, 下载次数: 92)
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-10-19 14:51:29
地板
您好,您说得用Spread导入这个Excel再导出之后 纸张方向丢失我这里是没问题的。

对于在spread中打印是没有 横向这个是由于spread打印是使用的papersize,忽略了orientation这个属性,您需要通过代码调整下spread papersize的宽高。
if(printInfo.orientation()===GcSpread.Sheets.PrintPageOrientation.Landscape)
{
printInfo.paperSize(paperSize.hight(),paperSize.width())
}
回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2016-10-19 16:34:46
5#
dexteryao 发表于 2016-10-19 14:51
您好,您说得用Spread导入这个Excel再导出之后 纸张方向丢失我这里是没问题的。

对于在spread中打印是没 ...

不可能吧
回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2016-10-19 16:38:30
6#
dexteryao 发表于 2016-10-19 14:51
您好,您说得用Spread导入这个Excel再导出之后 纸张方向丢失我这里是没问题的。

对于在spread中打印是没 ...

我导入导出都是通过以下的代码:导入:
  1. var postFile = context.Request.Files[0];

  2.                     var ext = Path.GetExtension(postFile.FileName).ToLower();
  3.                     if (ext == ".xls" || ext == ".xlsx")
  4.                     {
  5.                         Importer excelImporter = new Importer();

  6.                         var fileJson = excelImporter.ImportExcel(postFile.InputStream);

  7.                         ReturnDataString(fileJson);
  8.                     }
复制代码
导出:
  1. Exporter excelExporter = new Exporter(contentJson);

  2.                     using (FileStream fileStream = File.Create(tempAbsPath))
  3.                     {
  4.                         excelExporter.SaveExcel(fileStream);
  5.                     }
复制代码


回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2016-10-19 16:43:23
7#
本帖最后由 IvanBy 于 2016-10-19 16:59 编辑
dexteryao 发表于 2016-10-19 14:51
您好,您说得用Spread导入这个Excel再导出之后 纸张方向丢失我这里是没问题的。

对于在spread中打印是没 ...

不是通过SpreadJS设计器导入导出,而是通过GrapeCity.Spread.Sheets.ExcelIO.dll等类库组件进行导入导出的
下面这个是我从MS Excel导入,然后从Spread导出的Json文档
横向.json (31.88 KB, 下载次数: 71)
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-10-19 17:29:47
8#
您的json里没有print的信息,我看您用的是20153 版本,我需要时间确认下是不是老板本的问题。现在最新版是20161,我试了是没有问题的。
回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2016-10-19 17:46:18
9#
dexteryao 发表于 2016-10-19 17:29
您的json里没有print的信息,我看您用的是20153 版本,我需要时间确认下是不是老板本的问题。现在最新版是2 ...

好的,辛苦了
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-10-19 19:09:03
10#
应该的。
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部