zhaoyuanxu 发表于 2014-8-8 14:44:00

[在线等 谢谢]读取带有密码的excel

1.fpSpread.GetExcelSheetList打开03版的excel
2.fpSpread.OpenExcel2007File 打开07版的excel
以上2种方法怎么打开带有密码以及读写密码的excel呢?

还有个问题在使用openExcel2007File 时 打开xlsx的文件 日志文件报:
尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
双击程序后,vb程序强行关闭
不知道是什么原因导致的

iceman 发表于 2014-8-8 18:09:00

回复 1楼zhaoyuanxu的帖子

打开带有密码的Excel文件方法如下:

fpSpread.OpenExcel2007File(FileName As String, Password As String, Sheet As Integer, ExcelSheet As Integer, LogFileName As String) As Boolean




能否把 Excel 文件发上来看看?

zhaoyuanxu 发表于 2014-8-11 08:55:00

回复 2楼iceman的帖子

一个excel有2个密码,一个是打开密码,一个是读写的密码,password只是打开密码,读写密码怎么赋值。

zhaoyuanxu 发表于 2014-8-11 09:11:00

Dim f As Long
    Dim ff
    f = frmImport.fpSpread1.GetExcelSheetList(xlsPath, List, ListCount, "c:/1.log", fphandle, True)

    If ListCount = 0 Then
      MousePointer = vbHourglass
      frmImport.fpSpread1.OpenExcel2007File xlsPath, "", -1, -1, "c:/1.log"
      MousePointer = vbDefault
    Else
      frmImport.fpSpread1.SheetCount = 3
      frmImport.fpSpread1.ImportExcelSheet 0, 0
    End If


用以上代码打开03版的excel可以打开07版附件中的excel,日志文件中报

===== FarPoint Technologies, Inc =====
===== Begin of Excel Workbook General Load =====
2014-8-11 9:07:52

Col        Row        Information
___        ___        ___________
                120:Import Excel File: C:\上报数据文件/44.xlsx

===== End of Excel Workbook General Load =====

System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
   在 FarPoint.Com.Excel.SpreadDll.SSReset(IntPtr hWnd)
   在 FarPoint.Com.Excel.FpExcelStub.OpenExcelEx(IntPtr fpControl, String filename, String logfile, Int16 spreadSheetIndex, Int16 excelSheetIndex, String password)

iceman 发表于 2014-8-11 15:34:00

回复 4楼zhaoyuanxu的帖子

问题一,打开 Excel 2007 方法如下:

    Me.fpSpread1.OpenExcel2007File App.Path + "\\44.xlsx", "", 0, 0, ""


请参考 Demo:

iceman 发表于 2014-8-11 15:45:00

回复 4楼zhaoyuanxu的帖子

问题二,我们这边的测试结果是不需要填写编辑密码:
附件中 44.xlsx 文件设置了阅读和编辑密码,只需要在打开时指定阅读密码即可,附件是 Excel 文件,Demo :



打开代码:
    Me.fpSpread1.OpenExcel2007File App.Path + "\\44.xlsx", "open", 0, 0, ""

zhaoyuanxu 发表于 2014-8-11 16:23:00

回复 5楼iceman的帖子

运行了你的代码 内容没有加载进去。用了2台机子试都没有加载进去。

附件是加密的excel打开密码是:rsb123读写密码是:writersb123
如何加载到控件中

iceman 发表于 2014-8-11 20:13:00

回复 7楼zhaoyuanxu的帖子

你好,
问题我这边已经重现了,我需要把问题提交给产品组,看是否有好的建议。
有消息反馈给你。

zhaoyuanxu 发表于 2014-8-12 11:11:00

回复 7楼zhaoyuanxu的帖子

你好,
问题我这边已经重现了,我需要把问题提交给产品组,看是否有好的建议。
有消息反馈给你。
iceman 发表于 2014-8-11 20:13:00 http://gcdn.gcpowertools.com.cn/images/common/back.gif

这个问题比较急,所以麻烦尽快些。谢谢

iceman 发表于 2014-8-12 14:23:00

回复 9楼zhaoyuanxu的帖子

恩,我们会尽快处理的,能够体会到您的心情。

产品组同事在美国,所以回复会有延迟,也希望您能够理解,最快明天会有回复。
页: [1] 2
查看完整版本: [在线等 谢谢]读取带有密码的excel