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();
    }



    }

  • 相关阅读:
    剑指offer 51.构建乘积数组
    剑指offer 50.数组中重复的数字
    股票价格涨跌预测—基于KNN分类器
    R语言-神经网络包RSNNS
    基于客户保持率的人口特性分析
    车辆碰撞位置间的关联性分析
    统计学的七大支柱[转载@谢益辉]
    AutoDesK演示项目部署
    自定义数字键盘组件化方案
    2020年大前端发展趋势
  • 原文地址:https://www.cnblogs.com/gisbeginner/p/12023194.html
Copyright © 2011-2022 走看看