select,从IE复制并粘贴到Excel

所以基本的问题是,我怎样才能使表格很好地从IE复制到Excel或OpenOffice calc。 该页面位于: http : //tuudik.lohv.eu/Asjad/EURXML/

该表是由PHP代码dynamic创build的。 有一个tekst“Vali tabel”的button! 这意味着,它select表。 然后我想复制它,例如使用CTRL + C并将其粘贴到电子表格中。

什么是最好的select? 我应该创build一个隐藏的div,然后有什么样的表中相同的数据,但格式化的方式?

另外,任何人都知道如何制作“Valikõik!” button的工作,所以它会自动将内容复制到剪贴板?

为什么不修改你的PHP脚本,直接把页面内容写到Excel中,把内容写到excel的单元格中,而不是写到<td>元素的HTML中,然后设置头文件来下载它…所以传递一个额外的'format'参数到脚本可以确定输出格式为XLS的HTML。 PHPExcel库提供了在纯PHP中生成XLS文件的function。 然后,您的HTML页面上的链接可以提供直接将输出重新创build为XLS文件进行下载的选项,而不是复制和粘贴。

在我的经验中,从html页面复制最好通过没有格式的文本编辑器完成。 这种方式内容通常是以某种方式(通常选项卡)分隔,使粘贴到电子表格更容易。

  • 从浏览器复制表格
  • 粘贴在记事本中,select,再次复制
  • 粘贴到电子表格应用程序

可能不直接回答你的问题,但如果你以某种方式可以使数据可复制为纯文本与制表符分隔符(如隐藏的div或东西) – 你可能会有更大的成功粘贴到支持各种格式的电子表格。

使用稍微不同的方法,请尝试在Excel中获取外部数据function

(我使用Excel 2010进行了testing,但是2007年是相似的,并且在2003年以略有不同的forms出现)

从菜单数据/获取外部数据/从Web

打开表格:

  • 粘贴地址(如http://bit.ly/Kurss ),然后点击开始
  • 显示网页
  • 向下滚动到你想要的桌子
  • select它与小黄箭头thingy
  • 点击导入

瞧,数据是在Excel中,作为从后台查询无格式的数据!

然后,每当你要更新数据,只需点击刷新

我需要一种方法来复制HTML表格信息并粘贴到Excel中。 我使用了技术的组合。 首先,我添加了这个代码,这样我就可以自动将数据复制到客户端PC的粘贴缓冲区中。

如何在JavaScript中复制到剪贴板?

// Copies a string to the clipboard. Must be called from within an // event handler such as click. May return false if it failed, but // this is not always possible. Browser support for Chrome 43+, // Firefox 42+, Safari 10+, Edge and IE 10+. // IE: The clipboard feature may be disabled by an administrator. By // default a prompt is shown the first time the clipboard is // used (per session). function copyToClipboard(text) { if (window.clipboardData && window.clipboardData.setData) { // IE specific code path to prevent textarea being shown while dialog is visible. return clipboardData.setData("Text", text); } else if (document.queryCommandSupported && document.queryCommandSupported("copy")) { var textarea = document.createElement("textarea"); textarea.textContent = text; textarea.style.position = "fixed"; // Prevent scrolling to bottom of page in MS Edge. document.body.appendChild(textarea); textarea.select(); try { return document.execCommand("copy"); // Security exception may be thrown by some browsers. } catch (ex) { console.warn("Copy to clipboard failed.", ex); return false; } finally { document.body.removeChild(textarea); } } } 

然后我创build了一个复制string。 用一个制表符分隔单元格值,然后用新的行分隔行\ n。 看下面的例子。

我使用PHP创build了复制数据string。

 //-- Create data for a single table row //-- We needed to escape single quotes for HTML and javascript $copy_data = str_replace("'","\'",$col1."\t".$col2."\t".$col3); //-- Create data for a multi rows //-- Separate multiple rows by \n but needs to be escaped so use \\n $copy_data = str_replace("'","\'",$col1."\t".$col2."\t".$col3."\\n".$col1."\t".$col2."\t".$col3."\\n".$col1."\t".$col2."\t".$col3); 

然后我把它放在网页上的复制button。

 <a href="#" onclick="copyToClipboard('<?=$copy_data?>')">Copy</a> 

然后你点击“复制”链接将数据存入你的复制缓冲区。 接下来转到Excel并单击要粘贴数据的单元格,然后执行粘贴操作。