小编Zur*_*urb的帖子

以编程方式(C#)将Excel转换为图像

我想以编程方式将excel文件转换为图像(每种格式都可以)(c#).目前我正在使用Microsoft Interop Libraries和Office 2007,但默认情况下它不支持保存到图像.

所以我目前的解决方法如下:

  • 使用Microsoft Interop打开Excel文件;
  • 找出最大范围(包含数据);
  • 使用该范围上的CopyPicture(),它将数据复制到剪贴板.

现在棘手的部分(和我的问题):

问题1:

使用.NET Clipboard类,我无法从剪贴板中获取EXACT复制数据:数据是相同的,但不知何故格式化是扭曲的(整个文档的字体似乎变得粗体和多一点他们不是不可读的;); 如果我使用mspaint.exe从剪贴板粘贴,粘贴的图像是正确的(正如我希望的那样).

我反汇编了mspaint.exe并找到了一个正在使用的函数(OleGetClipboard)从剪贴板中获取数据,但我似乎无法在C#/ .NET中使用它.

我尝试的其他东西是剪贴板WINAPI(OpenClipboard,GetClipboardData,CF_ENHMETAFILE),但结果与使用.NET版本相同.

问题2:

使用范围和CopyPicture,如果Excel工作表中有任何图像,这些图像不会与周围数据一起复制到剪贴板.

一些源代码

Excel.Application app = new Excel.Application();
app.Visible = app.ScreenUpdating = app.DisplayAlerts = false;
app.CopyObjectsWithCells = true;
app.CutCopyMode = Excel.XlCutCopyMode.xlCopy;
app.DisplayClipboardWindow = false;

try {
    Excel.Workbooks workbooks = null;
    Excel.Workbook book = null;
    Excel.Sheets sheets = null;

    try {
        workbooks = app.Workbooks;
        book = workbooks.Open(inputFile, false, false, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
                              Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
                              Type.Missing, Type.Missing);
        sheets = book.Worksheets; …
Run Code Online (Sandbox Code Playgroud)

c# excel clipboard interop image

10
推荐指数
2
解决办法
2万
查看次数

更改已签名的Java小程序的"名称"值

我自己签了一个java applet,所以当用户在浏览器中查看这个applet时,浏览器会显示一个无法验证数字签名确认对话框.这一切都没问题,但是这个确认对话框中"Name:"属性(在"Publisher:"属性上方看到)的值被设置为我不记得在进行签名时设置的内容.

所以我的问题是,这个价值来自哪里,我该如何改变呢?

java applet signing

7
推荐指数
1
解决办法
2425
查看次数

ExtJS 4 - 永远不要在树面板中缓存树节点

我有一个简单的Ext.tree.Panel,它使用ajax代理从Ext.data.TreeStore加载其数据.

展开treenode时的默认行为似乎是:

  • 如果之前扩展:从缓存中检索
  • 如果从未扩展:从服务器检索

如何关闭缓存选项,以便它永远不会缓存(即始终从服务器检索)?

caching treenode extjs treepanel extjs4

5
推荐指数
1
解决办法
575
查看次数

标签 统计

applet ×1

c# ×1

caching ×1

clipboard ×1

excel ×1

extjs ×1

extjs4 ×1

image ×1

interop ×1

java ×1

signing ×1

treenode ×1

treepanel ×1