2009-07-24 133 views
4

我想從我的應用程序中將表格數據複製到Excel。到目前爲止,我發現的最簡單的方法是使用HTML作爲中間格式。在閱讀this question後,我可以保留我的數據的格式。有沒有辦法保持列的寬度?我試圖以各種方式設置風格:通過剪貼板將HTML表格導入到Excel中

<td style="width:100;">...</td> 
<td style="width:100px;">...</td> 
<td style="width:100pt;">...</td> 

但無濟於事。有任何想法嗎?

對於獎勵積分,有沒有一個地方可以找到Excel的HTML「格式」的描述?

[編輯]更新:我寫了一個小工具來轉儲傳輸類型「XML樣式表」。這是一個自包含的XML文檔。它也包含列寬。但是一個快速測試表明,即使我在兩個表格之間剪切了&粘貼,Excel也完全忽略了列寬:(所以除非有人能告訴我一個改變這種行爲的選項,我想在粘貼時根本無法格式化列。

我找到了一個方法,粘貼完成後,右下角會出現一個小圖標,看起來像工具欄上的粘貼按鈕,在這裏你可以選擇一些選項,一種是「保持寬度源表」。

回答

4

我推薦使用XML Spreadsheet格式(舊的2002/2003之一 - 更簡單的生成)通過Excel導入HTML的能力。

我已經完成了兩個和書面庫直接從.NET導出,XML格式肯定不太可能讓你失眠。

+0

你可以發佈一個鏈接,說明這種格式的解釋嗎? – 2009-07-27 07:33:48

+1

http://msdn.microsoft.com/en-us/library/bb226687(office.11​​).aspx http://msdn.microsoft.com/en-us/library/bb226693(office.11​​).aspx – Edo 2009-07-27 07:59:45

2

可以‘往返’從Excel中爲HTML和背部,爲什麼在Excel中沒有創建一個簡單的工作簿,並將其保存爲HTML,然後檢查結果?


編輯:刪除了關於攔截「粘貼」事件的廢話;我只是意識到你處於事物的「複製」一邊,而不是「粘貼」一面。

+0

好主意。這真的幫助我弄清楚了幾件事情,除了列寬。 – 2009-07-24 14:42:28

3

不要用「風格」,也不是「PX」,例如:

<table border="1" cellpadding="5" cellspacing="0"> 
<tr> 
    <td width="100">test</td> 
    <td width="100">test</td> 
    <td width="100">test</td> 
    <td width="500">test</td> 
</tr> 
</table> 
1

似乎是一個錯誤,使用剪貼板不設置列寬。

解決方案(或解決方法)是在Excel中打開HTML文件。

這裏是一個攝製:

拷貝並粘貼到Excel:

<html><body><center> 
<table border="1" cellpadding="0" cellspacing="0"> 
<tr> 
<td width=64><strike>testing</strike></td> 
<td width=64>one</td> 
<td width=233>two</td> 
<td width=64>three</td> 
</tr> 
</table></center></body></html> 

不設置列寬!

將上面的HTML保存在一個文件中,並在Excel中打開它的列寬設置正確。

相關問題