com组件提取excel中的图片office07可以提取office13无法提取的问题

今天项目要求在公司小机房里面跑了。小机房里装的office2013 顿时我从excel中提取图片的代码就用不了了

找了一上午资料终于在stackoverflow上找到办法

贴代码:

 public void ReadPic(string path,List<int> noDataList)
        {
            try
            {
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }

                int count = 1;
                int num = 0;
                foreach (Microsoft.Office.Interop.Excel.Worksheet sheet in workbook.Worksheets)
                {

                    //object savefilename = (object)savePath;
                    ChartObjects x1Charts = (ChartObjects)sheet.ChartObjects(Type.Missing);
                    Dictionary<double, ChartObject> dic = new Dictionary<double, ChartObject>();
                    List<double> list = new List<double>();
                    for (int i = 0; i < x1Charts.Count; i++)
                    {
                        ChartObject myChart = (ChartObject)x1Charts.Item(i + 1);
                        double height = myChart.Top;
                        list.Add(height);
                        dic.Add(height, myChart);

                    }
                    double[] nums = list.ToArray();
                    com.InsertSort(nums);
                    list = new List<double>(nums);
                    for (int i = 0; i < list.Count; i++)
                    {
                        if (noDataList.Contains(count))
                        {
                            count++;
                            num++;
                            continue;
                        }
                        string name = com.GetFileName(count-num);
                        string savePath = System.IO.Path.Combine(path, name);
                        ChartObject myChart = dic[list[i]];
                        myChart.Activate();
                        Chart chart = myChart.Chart;
                        chart.Export(savePath, "jpeg", false);
                        count = count + 1;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                 GCFinal();
            }

        }

原因是少了一句myChart.Activate();加了这一句就可以再13上跑了不加就只能在07上跑。。囧。

附原帖链接 http://stackoverflow.com/questions/21759417/how-can-i-export-an-excel-worksheet-as-image

时间: 2024-08-03 03:23:34

com组件提取excel中的图片office07可以提取office13无法提取的问题的相关文章

迅捷pdf转换器——如何提取pdf中的图片

对于PDF文件的转换,我们最常遇到的情况是把PDF文件转换成Word格式的情况,不过在一些特殊的情况下,我们也会遇到一些特殊的转换工作,比如将pdf转换成jpg格式的文件就比较少见.PDF转换成图片,转换出来的就是一张张的图片,像是扫描过的PDF文件,文字和图片合并成的文件,单独将图片提取出来,只需要里面的图片要怎么办,最简单的方法:利用迅捷PDF转换器的“PDF图片获取”功能直接提取图片. 迅捷PDF转换器正式为上班一族打造的一款专业软件.软件采用OCR技术,它就像是一台袖珍型扫描仪,帮助用户

java POI实现向Excel中插入图片

java POI实现向Excel中插入图片 标签: javapoiexcel 2014-03-05 08:59 9103人阅读 评论(4) 收藏 举报  分类: [JAVA开发]-----JavaScore(34)  版权声明:本文为博主原创文章,未经博主允许不得转载. 做Web开发免不了要与Excel打交道.今天老大给我一个任务-导出Excel.开始想的还是蛮简单的,无非就是查找,构建Excel,response下载即可.但是有一点不同,就是要加入图片,就是这个加入图片搞了好久.同时网络上确实

在 Excel 中设置图片

package com.smbea.demo.excel; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStrea

Python读取excel中的图片

Python读取excel中的图片文件,并转成base64 import sys import os import xlrd import zipfile import base64 class ExcelImgRead(object): def change_file_name(self, file_path, old_name, new_type = '.zip'): """ 修改指定目录下的文件类型名 :param file_path: :param old: :par

Java向Excel中插入图片

Java向Excel中插入图片 import java.io.FileOutputStream; import java.io.File; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.awt.image.BufferedImage; import javax.imageio.*; import org.apache.poi.hssf.usermodel.HSSFWorkbook; im

Java使用POI对Excel进行基本操作(4)-Excel中绘制图片

1.在Excel中绘制图片 public static void main(String[] args) throws Exception { // 定义一个工作簿 Workbook workbook = new XSSFWorkbook(); // 创建一个sheet页 Sheet sheet = workbook.createSheet("第一个sheet页"); FileInputStream fis = new FileInputStream("E:\\桌面壁纸\\y

JAVA抠取Excel中的图片

EXCEL中扔了一堆的图片,老大让对应到数据库中的数据上.思路先把图片抠出存成单个图片.然后上传到服务器,取下路径更新到数据库中. 注释掉的部分为有多个Excel时使用. package com.zhaopin; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOu

如何用python提取Excel中指定列名的数据

#coding=utf-8 import xlrd,chardet,traceback #根据列名获取相应序号 def getColumnIndex(table,columnName): columnIndex=None for i in range(table.ncols): if(table.cell_value(0,i)==columnName): columnIndex=i break return columnIndex #根据Excel中sheet名称读取数据 def readExc

python提取Excel中的特定列生成新的表格

#coding=utf-8 import xlrd,chardet,traceback,csv #根据列名获取相应序号 def getColumnIndex(table,columnName): columnIndex=None for i in range(table.ncols): if(table.cell_value(0,i)==columnName): columnIndex=i break return columnIndex #根据Excel中sheet名称读取数据 def rea