Экспорт из xml в xlsx - C#
Формулировка задачи:
Проблема в том, что при добавлении тега <ActualData> на 4 уровень данные в xlsx файл не выгржуаются. XML файл:
при выгрузке в xlsx файл просто записывается "Programs_Id 0". Если убрать тег с четвертого уровня то данные выгружаются полностью. Есть предположения из за чего это проиходит? Заранее спасибо.
<ActualData> <Programs> <Program> <BeginYear>2014</BeginYear> <Code>15</Code>> <Name>Показатель</Name> </Program> </Programs> </ActualData>
Решение задачи: «Экспорт из xml в xlsx»
textual
Листинг программы
using System; using System.IO; using System.Net; using System.Text; using System.Threading; using System.Xml; using System.Xml.XPath; using System.Xml.Xsl; using System.Data; //... private static void Converts() { DataSet ds = new DataSet(); //Convert the XML into Dataset ds.ReadXml("C:\\dir\\ex2.xml"); DataTable dt = new DataTable(); //Retrieve the table fron Dataset dt = ds.Tables[0]; // Create an Excel object Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); //Create workbook object string str = "C:\\dir\\test3.xlsx"; Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Open(Filename: str); //excel. //Create worksheet object Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.ActiveSheet; //worksheet= workbook.Worksheets.get_Item(3); // Column Headings int iColumn = 0; foreach (DataColumn c in dt.Columns) { iColumn++; excel.Cells[1, iColumn] = c.ColumnName; } // Row Data int iRow = worksheet.UsedRange.Rows.Count - 1; foreach (DataRow dr in dt.Rows) { iRow++; // Row's Cell Data iColumn = 0; foreach (DataColumn c in dt.Columns) { iColumn++; excel.Cells[iRow + 1, iColumn] = dr[c.ColumnName]; } } ((Microsoft.Office.Interop.Excel._Worksheet)worksheet).Activate(); //Save the workbook workbook.Save(); //Close the Workbook workbook.Close(); Console.Out.WriteLine("close"); // Finally Quit the Application ((Microsoft.Office.Interop.Excel._Application)excel).Quit(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д