0
我已經擴散板這樣的XML如何將MS Office電子表格xml內容轉換爲Silverlight中的xlsx?
<?xml version="1.0"?>
<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<ss:Styles>
<ss:Style ss:ID="1">
<ss:Font ss:Bold="1"/>
</ss:Style>
</ss:Styles>
<ss:Worksheet ss:Name="Sheet1">
<ss:Table>
<ss:Column ss:Width="80"/>
<ss:Column ss:Width="80"/>
<ss:Column ss:Width="80"/>
<ss:Row ss:StyleID="1">
<ss:Cell>
<ss:Data ss:Type="String">First Name</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">Last Name</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">Phone Number</ss:Data>
</ss:Cell>
</ss:Row>
<ss:Row>
<ss:Cell>
<ss:Data ss:Type="String">Kevin</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">Boske</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">(425) 123-4567</ss:Data>
</ss:Cell>
</ss:Row>
</ss:Table>
</ss:Worksheet>
</ss:Workbook>
我想這個XML轉換成XLSX。
我想什麼是
private void btnExport_Click(object sender, RoutedEventArgs e)
{
SaveFileDialog Savedlg = new SaveFileDialog();
Savedlg.Filter = "XLS (.xls)|*.xls|xlsx (.xlsx)|*.xlsx";
byte[] xlfile = this.byts;
if ((bool)Savedlg.ShowDialog())
{
System.IO.MemoryStream mStream = new System.IO.MemoryStream();
mStream.Write(xlfile, 0, xlfile.Length);
Stream fileStream = Savedlg.OpenFile();
mStream.WriteTo(fileStream);
fileStream.Close();
}
}
byte[] byts = null;
private void import_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.ShowDialog();
System.IO.Stream fileStream = openFileDialog1.File.OpenRead();
this.byts= ReadFully(fileStream);
}
public static byte[] ReadFully(Stream input)
{
byte[] buffer = new byte[16 * 1024];
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return ms.ToArray();
}
}
另存爲XLS正常工作,開啓時,在Excel文件它顯示像
一個消息「您試圖打開該文件是不同的格式,然後由文件擴展名指定「。
保存爲XLSX不起作用。
它是一個silverlight應用程序,所以它不會支持打開xml sdk –