2009-01-12 102 views
1

我有一個關於如何最好地將xhtml轉換爲excel的問題。讓用戶在Excel中編輯它,然後在最後回到xhtml。如何從xhtml到excel到xhtml

背景是我有一個web應用程序,其中的文本存儲在xhtml中。這些我可以用excel單元格中的html導出爲ex​​cel文件。

我也可以重新導入這個細胞返回到XHTML但我的問題是,編輯是很難用於普通用戶的HTML是簡單地在Excel單元格中的文本。

這是錯誤的做法,我應該只使用多個HTML編輯器自定義應用程序,但用戶希望在離線的Excel文檔,他們可以輕鬆地交流和工作。

下面是一個示例XML,但它可以是其中用戶在HTML編輯器(TinyMCE的)與XHTML嚴格進入任何XHTML。我假設沒有用於excel的html編輯器插件。我從來沒有聽說過一個,並一直沒能找到一個,因爲這是最簡單的解決方案..

評論

* A Bullet: The impact of 
* A bullet 2: Test text 

標題

* Bullet: text 
* Bullet: Text 

任何人有什麼想法? 謝謝, 喝醉

回答

0

一個解決方案,我曾經實施了我個人的使用是我寫在Excel中的宏僅與數據解析的HTML文件,並填充Excel工作表。當我完成後,宏將讀取表單中的數據並生成html文件。然而

我的情況下,有一個非常簡單的HTML文件,我基本上只用於解析極少數的標籤。

但是,您可能能夠找到解決方案/實用程序,使您更輕鬆地完成此任務。

+0

雖然這將工作,如果我在這種情況下有保證的xhtml結構,我不能控制xhtml中的內容(至少不是當前),因爲用戶可以根據他們認爲合適的方式進行更改。 – Crocked 2009-01-12 22:56:01

+0

解析xhtml可能仍然是一個好主意,雖然我可以看看在Excel中提取每個標籤作爲一個單獨的單元格。唯一的問題是,如果他們重新導入它,並且原始html結構已經改變(這就是爲什麼我想要excel到xhtml步驟),同時它可能不會按需要工作。 – Crocked 2009-01-12 22:57:35

+0

也許我可以將標記信息存儲在excel文件不知何故 – Crocked 2009-01-12 22:58:26

0

沒有看到您的具體文件,我只能選擇一種通用的解決方案。

如果你能打破由標記的文檔,可以顯示數據給最終用戶和保存在一個隱藏的工作表的標籤信息。所以,如果您有:

1-233

您可以顯示1,-2和33在可見工作表和存儲TD,TD風格=的前三個單元格 「顏色:紅」,TD在不可見紙張上的匹配單元格中。然後,將標籤數據存儲在視線之外,最大限度地減少用戶的困惑,並且可以在需要生成xhtml文件時檢索它。

0

下面是一個示例XML,但它可以是其中用戶在HTML編輯器(TinyMCE的)與XHTML嚴格進入任何XHTML。我假設沒有用於excel的html編輯器插件。我從來沒有聽說過..

評論
  • 子彈:的
  • 一顆子彈2的影響:測試文字

標題

  • 子彈:文本
  • 子彈:文本

0

沒有看到它可能很難文件的有關XSLT的複雜性,但什麼?如果它是.xlsx,那麼Excel本身就是xml。無論哪種方式,它會導出到XML。您可以製作一個將其轉換爲最終xhtml文檔的XSLT模板。

0

我的建議是要真正做到以下幾點:

XML擅長對XML

我對這種推理是

  1. 用戶將能夠打開XML和實際得到對文檔的基本理解(xhtml具有無用的標記,例如「html」或「head」),因爲它清晰簡單。
  2. Excel可以打開XML文件
  3. 容易讓你寫一個導出Excel數據到XML宏(很多漂亮的XML閱讀器/刻錄機)
  4. 可以定義爲XML文件的XSLT模板,即將它很好地顯示爲一個html文檔。
  5. 我注意到您對於僅限於office 2003的評論。您可以定義一個xslt模式,然後如果它足夠簡單,firefox或iexplorer會實際爲您呈現它。你可以在這裏查看瀏覽器的支持:http://www.w3schools.com/xsl/xsl_browsers.asp
1

如果你已經熟悉XSLT,聽起來這將是最好的選擇。儘管Excel 2003不使用.xlsx格式,但它讀取(並保存)他們稱之爲「SpreadsheetML」的內容,這也是XML。我發現學習如何轉換爲SpreadsheetML的最簡單方法就是在Excel中打開一個電子表格,然後根據您的喜好將其格式化,然後選擇另存爲 - > XML電子表格(* .xml)。打開該XML文件,您將看到Excel爲工作簿定義的所有樣式,然後可以使用這些樣式作爲「模板」來編寫將您的XHTML轉換爲該格式的XSLT。

要進一步閱讀和體面的演練,請在MSDN上查看Dive into SpreadsheetML (part 1 of 2)

想必您可以使用另一個XSL轉換來將您需要的數據從SpreadsheetML提取到XHTML。