zoukankan      html  css  js  c++  java
  • vsto 以隐藏的方式打开一个excel 文件 并获得excel文件的缩略图

    public byte[] GetExcelPictureFile(string filepath)
    {
    Workbook workbook=null;
    Microsoft.Office.Interop.Excel.Application excelApp = new
    Microsoft.Office.Interop.Excel.Application();
    excelApp.Visible = false;
    string fileName = string.Empty;
    try
    {
    CaCheContext.isUploadingTemplate = true;
    workbook= excelApp.Workbooks.Open(filepath, 0, true, 5, "", "", true,
    Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "",
    false, false, 0, false, false, false);
    fileName = AppDomain.CurrentDomain.BaseDirectory +DateTime.Now.ToString("yyyymmddhhmmss") + workbook.Name;
    Sheets worksheets = workbook.Sheets;
    int sheetcount = worksheets.Count;
    List<string> nameList = new List<string>();
    foreach (Worksheet a in worksheets)
    {
    nameList.Add(a.Name);
    }
    string firsrName = nameList.First();
    Worksheet worksheet = worksheets[firsrName];
    worksheet.Range["A1", "E20"].CopyPicture(XlPictureAppearance.xlScreen, XlCopyPictureFormat.xlBitmap);
    if (Clipboard.ContainsImage())
    {
    Image img = Clipboard.GetImage();
    Bitmap bitmap = new Bitmap(img);
    //保存图片数据
    MemoryStream stream = new MemoryStream();
    bitmap.Save(stream, ImageFormat.Jpeg);
    byte[] buffer = stream.ToArray();
    bitmap.Dispose();
    CaCheContext.isUploadingTemplate = false;
    Cursor.Current = Cursors.Arrow;
    return buffer;
    }
    else
    {

    CaCheContext.isUploadingTemplate = false;
    Cursor.Current = Cursors.Arrow;
    return null;
    }

    }
    catch(Exception ex)
    {
    Cursor.Current = Cursors.Arrow;
    CaCheContext.isUploadingTemplate = false;
    MessageBox.Show("生成文件缩略图失败"+ex.Message);
    return null;
    }
    finally
    {

    workbook.SaveAs(fileName);
    workbook.Close();
    excelApp.Workbooks.Close();
    excelApp.Quit();
    excelApp.SendKeys("{TAB}");
    excelApp.SendKeys("{ENTER}");
    excelApp = null;
    this.Focus();
    }



    }

  • 相关阅读:
    关于C_Sharp集中处理异常
    关于Java连接SQL Sever数据库
    MongoDB 的主键 _id 为什么不是自增数字
    svn 命令行基本操作
    如何删除 Git 仓库中的历史提交记录
    .git 文件太大时怎样处理
    Git 提交到多个远程仓库
    Git SSH keygen 生成与配置
    Git 远端回滚
    Git 合并或修改线上 commit
  • 原文地址:https://www.cnblogs.com/gisbeginner/p/12023194.html
Copyright © 2011-2022 走看看