Excel复制到剪贴板截断数据

我已经构build了一个Web应用程序,它具有用于填充表格的粘贴button。 数据最初是从Excel电子表格复制并粘贴到我的表单上。

问题是我只看到显示的数据,而不是底层的值。 例如,如果单元格的值是12.223,单元格的格式只显示12.2,则12.2会进入剪贴板。

我在这里错过了一个诡计吗? 有谁知道如何从剪贴板中提取完整的数据?

编辑:看来,Excel使剪贴板上有25种不同的格式,包括“XML Spreadsheet”,它看起来像包含我需要的实际信息。 但是,似乎只有Text版本在浏览器中可用。 是否有一个ActiveX控件或类似的东西,我可以用来抓住这些数据?

我能看到的唯一方法是敲掉一些使用Windows窗体对象库的VBA代码。

我find了一个使用剪贴板的代码示例

http://www.dailydoseofexcel.com/archives/2004/12/02/putting-text-into-the-windows-clipboard/

默认情况下,这只会复制单元格的可见文本。 要得到它输出的实际值,你需要改变

cell.Text 

 cell.Value 

虽然这可能会弄糟任何date,如果你有他们。

编辑:

其实date似乎复制好

复制单元格后,右键单击并select“特殊粘贴”,然后select“粘贴”下的“值”选项。 这将粘贴完整的价值。

假设您很高兴使用额外的表格来包含格式化的数据以进行复制,您也可以执行以下操作

 Sub CopyPasteSpecialCopy() 'Clear out temp destination Sheets("CopyPasteSheet").Select Cells.Select Selection.ClearContents 'Copy data Sheets("DataSheet").Select Cells.Select Application.CutCopyMode = False Selection.Copy 'Paste data Sheets("CopyPasteSheet").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Cells.Select Application.CutCopyMode = False 'Put it onto the clipboard Selection.Copy End Sub 

虽然我看不到粘贴XML only值的选项。

这个macros又可以连接到Ctrl + C组合键。

鉴于你不能修改Excel电子表格,它看起来像你卡住了。 问题是,Windows剪贴板不能识别浏览器能够接受粘贴纯文本的任何东西。 正因为如此,它将其作为纯文本表格进行粘贴,这基本上就是excel向您呈现的数据的可视化表示。

如果你为页面创build了一个ActiveX组件,除了电子表格数据,那么Excel的粘贴应该工作,我想。 一个纯浏览器的JavaScript实现将不会做你所需要的。