我有一個XML文檔保存爲我的項目一個小的數據,我想我的XML轉換爲Excel文件(如Microsoft Office Excel 2003及以上)如何轉換XML到excel文件編程
我該怎麼辦這是編程?
我有一個XML文檔保存爲我的項目一個小的數據,我想我的XML轉換爲Excel文件(如Microsoft Office Excel 2003及以上)如何轉換XML到excel文件編程
我該怎麼辦這是編程?
How to open an XML file in Excel 2003。
總之,你可以簡單地打開它使用文件>打開。然後,當你選擇一個XML文件,系統會提示您選擇下列方法之一來導入XML數據:
我知道,謝謝;但我需要一個代碼來做到這一點,正如我在下面告訴的。 msdn文件是我發現的舊的,並且太複雜了::( – Cmptrb
如果您可以控制生成的XML,只需生成一個XML Spreadsheet文件(Excel 2002和2003的XML文件標準)即可。
這些在Excel中本地打開,無需更改擴展名。 (要在Excel中默認打開,應將文件擴展名XML設置爲使用「XML編輯器」打開,該編輯器是根據需要將XML文件路由到Excel,Word,PowerPoint,InfoPath或外部XML編輯器的Office應用程序。這是安裝Office時的默認映射,但對於某些用戶,特別是在文本編輯器中編輯XML文件的開發人員來說,它可能會不起作用。)
或者,使用NPOI庫生成本機(97/2000 BIFF/XLS)Excel文件而不是XML。
是的,用excel打開xml是okey,但我想要將我的xml文件作爲excel文件,我將在excel小宏上編寫代碼 – Cmptrb
您甚至可以將XML文件讀取爲字符串,並使用正則表達式讀取標籤之間的內容並創建CSV文件或使用xpath表達式讀取XML文件數據並導出爲CSV文件。
即使您可以編寫XSLT將XML轉換爲CSV –
我知道沒有簡單的方法可以將基於xml的電子表格轉換爲xls/xlsx的基於代碼的轉換。但你可以看看Microsoft Open Xml SDK,它可以讓你使用xlsx。您可以構建xlsx電子表格並將其與數據一起提供。在open-xml SDK的層面上,它就像構建xml文件一樣。
首先聲明這些必需的引用:
它可以通過使用Microsoft.Office.Interop.Excel
如下所示來實現。
using System;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices;
using Microsoft.Office.Tools.Excel;
using Microsoft.VisualStudio.Tools.Applications.Runtime;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using System.Diagnostics;
using Microsoft.Win32;
不是創建Excel的應用程序,如下所示:
Excel.Application excel2; // Create Excel app
Excel.Workbook DataSource; // Create Workbook
Excel.Worksheet DataSheet; // Create Worksheet
excel2 = new Excel.Application(); // Start an Excel app
DataSource = (Excel.Workbook)excel2.Workbooks.Add(1); // Add a Workbook inside
string tempFolder = System.IO.Path.GetTempPath(); // Get folder
string FileName = openFileDialog1.FileName.ToString(); // Get xml file name
在一個循環下面的代碼使用後,確保在XML文件中的所有項目複製
// Open that xml file with excel
DataSource = excel2.Workbooks.Open(FileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
// Get items from xml file
DataSheet = DataSource.Worksheets.get_Item(1);
// Create another Excel app as object
Object xl_app;
xl_app = GetObj(1, "Excel.Application");
Excel.Application xlApp = (Excel.Application)xl_app;
// Set previous Excel app (Xml) as ReportPage
Excel.Application ReportPage = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
// Copy items from ReportPage(Xml) to current Excel object
Excel.Workbook Copy_To_Excel = ReportPage.ActiveWorkbook;
現在我們有一個Excel名爲Copy_To_Excel的對象,其中包含Xml中的所有項目.. 我們可以用我們想要的名稱保存並關閉Excel對象..
Copy_To_Excel.Save("thePath\theFileName");
Copy_To_Excel.Close();
1。將xml文件填充到數據集中,
2.將數據集轉換爲asp.net中的以下方法,使其優於以下方法
這些都是非常簡單的方法。
public static void Convert(System.Data.DataSet ds, System.Web.HttpResponse response)
{
//first let's clean up the response.object
response.Clear();
response.Charset = "";
//set the response mime type for excel
response.ContentType = "application/vnd.ms-excel";
//create a string writer
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
//create an htmltextwriter which uses the stringwriter
System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite);
//instantiate a datagrid
System.Web.UI.WebControls.DataGrid dg = new System.Web.UI.WebControls.DataGrid();
//set the datagrid datasource to the dataset passed in
dg.DataSource = ds.Tables[0];
//bind the datagrid
dg.DataBind();
//tell the datagrid to render itself to our htmltextwriter
dg.RenderControl(htmlWrite);
//all that's left is to output the html
response.Write(stringWrite.ToString());
response.End();
}
是否要將xml轉換爲xls?或者你想映射(格式以某種方式)數據從xml文件到xls - 表。 – mipe34