以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  生成的电子表格改变了原来的排序,怎么办?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46425)

--  作者:zhangchi96
--  发布时间:2014/2/23 15:28:00
--  生成的电子表格改变了原来的排序,怎么办?
1、先传一个窗体的预览图
 


图片点击可在新窗口打开查看此主题相关图片如下:01.jpg
图片点击可在新窗口打开查看

 

2、其中“打印”按钮的代码为:

Dim Book As New XLS.Book(ProjectPath & "Attachments\\考核工资汇总导出模版.xls")   \'打开模板
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet.Locked = True \'禁止编辑
Sheet(1,2).Value = myDWMC \'修改模板,加入制单人信息
Sheet(1,4).Value = CurrentY & "年" \'修改模板,加入制单人信息
Sheet(1,5).Value = CurrentM & "月" \'修改模板,加入制单人信息
Dim fl As String = ProjectPath & "电子表格\\" & "考核工资汇总.xls"
Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿
Forms("考核工资汇总表窗体").Close
Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()

 

3、 Attachments目录下的文件“考核工资汇总导出模版.xls”为:

  


图片点击可在新窗口打开查看此主题相关图片如下:02.jpg
图片点击可在新窗口打开查看

4、点击“打印”按钮,得到的电子表就变了

 

 


图片点击可在新窗口打开查看此主题相关图片如下:03.jpg
图片点击可在新窗口打开查看

 

红色圈的部分 所在的行和原来的顺序不同了。

 

请教各位,你们遇到过这个问题么,怎么办?请多多指教!!

[此贴子已经被作者于2014-2-23 15:40:48编辑过]

--  作者:有点甜
--  发布时间:2014/2/23 20:04:00
--  
 你可以指定排列的方式的。你也可根据 _Sortkey 列去排列


--  作者:zhangchi96
--  发布时间:2014/2/23 23:08:00
--  

谢谢,我也估计是系统默认按_Sortkey列来排序的,我没有在电子表格定义细节区时加入排序参数<表名,排序列>,我猜测生成的电子表的顺序是默认的顺序,就把狐表里的项目列中的各行的文字,通过复制、粘贴,根据生成的顺序调换了一下,然后再通过上移行、下移行调整行的顺序,再生成电子表后顺序就不乱了。

实际上调整后就是看到的顺序正好符合按_Sortkey列排序的顺序。

 

现在看来我原来狐表里的排序没有按_Sortkey列排序,我再加个这样的参数试一试。