zoukankan      html  css  js  c++  java
  • Exce2007保存到文档库的问题的解决

    现在的项目中遇到一个棘手的问题,用了很长的时间才找到解决的办法,所以把解决方案展示出来。

    需求:把一个二进制字节数组(byte[])存到moss文档库中
    环境:虚机和测试机都是(moss2007+vs2005),并且虚机自己作为域控,而测试机是域里的一台机器
    实现:
      保存:public bool SaveData(string fileurl, byte[] bits)
            {
                bool save = false;
                using (SPSite site = new SPSite(fileurl))
                using (SPWeb web = site.OpenWeb())
                {
                    SPFile file = web.GetFile(fileurl);
                    file.SaveBinary(bits);
                    save = true;
                }
                return save;
            }
    获取的二进制数组:
            public byte[] GetWorkbookBits(WorkbookType type, string SeeionID)
            {
                try
                {
                    ExcelService s = new ExcelService();
                    Status[] status;
                    s.Credentials = CredentialCache.DefaultCredentials;

                    byte[] bits = s.GetWorkbook(SeeionID, type, out status);
                    return bits;
                }
                catch (Exception soapEx)
                {

                    throw new ApplicationException("The session has timed out.");

                }
            }
    效果:虚机上保存成功,但是到测试机上生成的excel2007文件在打开时(下载到本地)有如下的错误:excel found unreadable content in <filename>,do you want to recover the contents of this workbook
    我的解决:
    1、比较web.config配置-----没有区别
    2、比较office版本,开始的时候虚机是12.0.4518.1014,后来和服务器一样12.0.6300.5000
    3、参考一下页面http://blogs.msdn.com/cumgranosalis/archive/2007/08/03/excel-found-unreadable-content-in-workbook-do-you-want-to-recover-the-contents-of-this-workbook.aspx

    http://forums.msdn.microsoft.com/en-US/sharepointexcel/thread/f532c447-4427-4135-af4c-5a68b0b891df/


    最终的解决办法很简单是file.SaveBinary(bits);方法中file文件由原来的“.xlsx”改成“.xlsb”格式文件。

    见:http://www.cnblogs.com/fanwenxuan/archive/2008/08/01/1258423.html

  • 相关阅读:
    字符串转义 保存到mysql
    vue项目引入背景图报Module not found: Error: Can't resolve './src/assets/img/bg2.jpg' in'xxx'错误
    vscode启动项目时报错:ERROR Failed to compile with 22 errors ,These relative modules were not found:
    整合阿里云视频播放器
    layer.open输入字数实时显示
    layer.prompt弹框
    解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
    微信扫码登录(OAuth2)
    阿里云短信服务
    单点登录(token,JWT)
  • 原文地址:https://www.cnblogs.com/Areas/p/2203571.html
Copyright © 2011-2022 走看看