找回密码
 立即注册

QQ登录

只需一步,快速开始

study1990
金牌服务用户   /  发表于:2013-8-12 15:58  /   查看:12499  /  回复:18
这是客户那边用excel2003编辑的文件:
PL.rar (5.92 KB, 下载次数: 1221)

18 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-8-12 18:42:00
沙发
回复 1楼study1990的帖子

study1990 你好,
我使用 xls 和 xlsx 分别测试。没有发现速度差异。请问你那边进行了哪些操作呢?
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2013-8-13 08:34:00
板凳
回复 2楼iceman的帖子

仅是导入操作,使用的代码:
  1. FarPoint.Web.Spread.FpSpread spread = new FarPoint.Web.Spread.FpSpread();
  2. spread.OpenExcel(ExcelPath);
复制代码

其他的就是给Spread添加一些预渲染的边框样式和允许删除行列的行为属性了:
  1. void ReportTemplate_PreRender(object sender, EventArgs e)
  2. {
  3.     FpSpread spread = (FpSpread)sender;
  4.     System.Web.UI.Page page = spread.Page;

  5.     if (page != null)
  6.     {
  7.         //定义表单样式
  8.         spread.ActiveSheetView.TitleInfo.BackColor = Color.Silver;
  9.         string imageUrl = VirtualPath.GetVirtualPath() + "/Content/images/spread/gradient1_ch.gif";
  10.         spread.ActiveSheetView.ColumnHeader.DefaultStyle.Background.BackgroundImageUrl = imageUrl;
  11.         spread.ActiveSheetView.RowHeader.DefaultStyle.Background.BackgroundImageUrl = imageUrl;
  12.         spread.ActiveSheetView.SheetCorner.DefaultStyle.Background.BackgroundImageUrl = imageUrl;
  13.         spread.CommandBar.Visible = false;
  14.         spread.Height = new Unit("100%");
  15.         spread.Width = new Unit("100%");
  16.         FarPoint.Web.Spread.TextCellType textType = new FarPoint.Web.Spread.TextCellType();
  17.         spread.ActiveSheetView.DefaultStyle.CellType = textType;
  18.         spread.ActiveSheetView.DefaultStyle.HorizontalAlign = HorizontalAlign.Left;
  19.         spread.ActiveSheetView.DefaultStyle.Font.Size = FontUnit.Point(12);

  20.         //边框样式
  21.         spread.BorderColor = Color.Silver;
  22.         spread.BorderStyle = BorderStyle.None;
  23.         spread.BorderWidth = 0;
  24.         FarPoint.Web.Spread.Border border = new FarPoint.Web.Spread.Border();
  25.         border.BorderStyle = BorderStyle.Solid;
  26.         border.BorderColor = Color.Silver;
  27.         border.BorderSize = 1;
  28.         spread.ActiveSheetView.DefaultStyle.Border = border;
  29.         spread.ActiveSheetView.GridLineColor = Color.Silver;

  30.         //---------------允许行为------------------------
  31.         spread.HorizontalScrollBarPolicy = FarPoint.Web.Spread.ScrollBarPolicy.Always;
  32.         spread.VerticalScrollBarPolicy = FarPoint.Web.Spread.ScrollBarPolicy.Always;
  33.         //列可以拖拽
  34.         spread.ActiveSheetView.AllowColumnMove = true;
  35.         //可以删除行
  36.         spread.ActiveSheetView.AllowDelete = true;
  37.         //可以删除列
  38.         spread.ActiveSheetView.AllowInsert = true;
  39.         spread.ActiveSheetView.AllowSort = false;
  40.         spread.ClientAutoCalculation = true;
  41.         spread.EditModeReplace = true;
  42.         spread.ActiveSheetView.AllowPage = false;
  43.         spread.AllowHeaderResize = true;
  44.         spread.ActiveSheetView.AllowLoadOnDemand = true;
  45.         spread.ShowFocusRectangle = true;
  46.         spread.Attributes.Add("onkeydown", "cellInput()");
  47.         spread.UseClipboard = false;
  48.     }
  49. }
复制代码

1、使用我发excel,不编辑,直接导入会很慢;
2、用excel2007打开再关闭,提示是否重新计算公式,点“是”,此时在导入就很顺畅了;
3、若是打开后直接另存为xlsx格式,导入时依然很慢。
是不是原excel文档是老版excel编辑时使用旧的excel计算公式方法所导致的?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-13 09:51:00
地板
回复 3楼study1990的帖子

现在可以肯定的一点是 重新计算公式需要 post 到后台,会影响效果。至于效率问题。我这边需要在测试和给出回复。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-13 16:54:00
5#
回复 3楼study1990的帖子

study 1990 您好,
<2、用excel2007打开再关闭,提示是否重新计算公式,点“是”,此时在导入就很顺畅了;>这步操作时如何弹出提示的呢?
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2013-8-14 08:13:00
6#
回复 5楼iceman的帖子


prompt.jpg (143.35 KB, 下载次数: 1031)
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2013-8-14 09:04:00
7#
回复 5楼iceman的帖子

ImportExcel.rar (328.1 KB, 下载次数: 1310)
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-14 09:07:00
8#
回复 6楼study1990的帖子

study1990 你好,

我使用的office版本是 2010 所以没有提示。

你描述的现象我重现了。这个问题我需要反馈给产品组。

得到反馈后我会尽快更新帖子状态。
回复 使用道具 举报
study1990
金牌服务用户   /  发表于:2013-8-14 13:32:00
9#
回复 8楼iceman的帖子

好,要尽快,客户这边等着要结果的。
谢谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-14 14:56:00
10#
回复 9楼study1990的帖子
好的。

影响解决问题速度的因素有:产品团队在美国,有时差和内部沟通流程。

我会加快沟通进度。

谢谢
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部