Excel XML导入问题 [英] Excel XML Import Problem
本文介绍了Excel XML导入问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好!
我在这个问题上停留了几天,但没有收到错误消息.
我必须要有数据集.每个数据集都保存一个数据表.所以我有两个保存非常简单数据的数据表.
现在,我想在我的Excel解决方案的sheet1上导入table1,在sheet2上导入table2.但是它总是在sheet1上导入table1和table2并将它们合并.
有人可以给我小费还是可以告诉我如何在两张纸上导入两个表?!?!?
提前谢谢.
向詹姆斯问好
Hey folks!
I stuck on this problem now for a few days and i don''t get the error.
I have to datasets. Each of the dataset hold one datatable. So i have two datatable which holds very simple data.
Now i want to import table1 on sheet1 and table2 on sheet2, of my excel solution. But it always import table1 and table2 on sheet1 and merge them.
Can anybody give me a tip or can tell me how to import two tables on two sheets?!?!?
Thanks in advance.
Greets James
<br />
<pre>using System;<br />
using System.Collections.Generic;<br />
using System.Data;<br />
using System.Linq;<br />
using System.Text;<br />
using System.Windows.Forms;<br />
using System.Xml.Linq;<br />
using Microsoft.Office.Tools.Excel;<br />
using Microsoft.VisualStudio.Tools.Applications.Runtime;<br />
using Excel = Microsoft.Office.Interop.Excel;<br />
using Office = Microsoft.Office.Core;<br />
namespace TestExcelWorkbook<br />
{<br />
public partial class ThisWorkbook<br />
{<br />
private DataSet Set1 = new DataSet("Set1");<br />
public System.Data.DataTable Table1 { get; set; }<br />
private DataSet Set2 = new DataSet("Set2");<br />
public System.Data.DataTable Table2 { get; set; }<br />
private void ThisWorkbook_Startup(object sender, System.EventArgs e)<br />
{<br />
Table1 = Set1.Tables.Add("StreamUsageData");<br />
Table1.Columns.Add(new DataColumn("Field1", typeof(string)));<br />
Table1.Columns.Add(new DataColumn("Field2", typeof(string)));<br />
Table2 = Set2.Tables.Add("StreamsPerClient");<br />
Table2.Columns.Add(new DataColumn("Field1", typeof(string)));<br />
Table2.Columns.Add(new DataColumn("Field2", typeof(string)));<br />
DataRow dr = null;<br />
for (int i = 0; i < 100; i++)<br />
{<br />
dr = Table1.NewRow();<br />
dr[0] = "- " + i.ToString();<br />
dr[1] = "Table 1 - " + i.ToString();<br />
Table1.Rows.Add(dr);<br />
}<br />
for (int i = 0; i < 100; i++)<br />
{<br />
dr = Table1.NewRow();<br />
dr[0] = "-- " + i.ToString();<br />
dr[1] = "Table 2 - " + i.ToString();<br />
Table1.Rows.Add(dr);<br />
}<br />
Excel.XmlMap map1 = this.XmlMaps.Add(Set1.GetXmlSchema(), Set1.DataSetName);<br />
Excel.XmlMap map2 = this.XmlMaps.Add(Set2.GetXmlSchema(), Set2.DataSetName);<br />
//define range for stream usage<br />
Excel.Range range1 = Globals.Tabelle1.Range["A1", missing];<br />
//define range for streams per client<br />
Excel.Range range2 = Globals.Tabelle2.Range["A1", missing];<br />
this.XmlImportXml(Set1.GetXml(), out map1, true, range1);<br />
this.XmlImportXml(Set2.GetXml(), out map2, true, range2);<br />
}<br />
private void ThisWorkbook_Shutdown(object sender, System.EventArgs e)<br />
{<br />
}<br />
#region VSTO Designer generated code<br />
/// <summary><br />
/// Required method for Designer support - do not modify<br />
/// the contents of this method with the code editor.<br />
/// </summary><br />
private void InternalStartup()<br />
{<br />
this.Startup += new System.EventHandler(ThisWorkbook_Startup);<br />
this.Shutdown += new System.EventHandler(ThisWorkbook_Shutdown);<br />
}<br />
#endregion<br />
}<br />
}</pre>
推荐答案
按照此 [
Do as described in this tip n'' trick[^] for each sheet.
Vote if this helps you.
找到了解决方案!
只需先在想要导入数据的地方激活工作表即可.就是这样!
Found the solution!
Just have to activate the sheet first where you wanna import the data... That''s it!
//define range for stream usage<br />
Globals.Tabelle1.Activate();<br />
Excel.Range rangeStreamUsage = Globals.Tabelle1.Range["A1", missing];<br />
this.XmlImportXml(StreamUsageDataSet.GetXml(), out xmlmStreamUsage, true, rangeStreamUsage);<br />
//define range for streams per client<br />
Globals.Tabelle3.Activate();<br />
Excel.Range rangeStreamsPerClient = Globals.Tabelle3.Range["A1", missing];<br />
this.XmlImportXml(StreamsPerClientDataSet.GetXml(), out xmlmStreamsPerClient, true, rangeStreamsPerClient
这篇关于Excel XML导入问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文