xlsx ファイルを抽出して sheet1.xml ファイルを取得したいと考えています。今、パッケージと PackagePart に苦労しています。最も明白な方法は、その特定のファイルを読み取り、コンテンツをにコピーすることだと思いますXmlDocument
。
XmlDocument doc = new XmlDocument();
using (Package package = ZipPackage.Open(xlsFile, FileMode.Open, FileAccess.Read))
{
foreach (PackagePart part in package.GetParts())
{
var target = Path.GetFullPath(Path.Combine(tempFolderPath, part.Uri.OriginalString.TrimStart('/')));
var targetDir = target.Remove(target.LastIndexOf('\\'));
if (!Directory.Exists(targetDir))
Directory.CreateDirectory(targetDir);
using (Stream source = part.GetStream(FileMode.Open, FileAccess.Read))
{
FileStream targetFile = File.OpenWrite(target);
byte[] bytes = new byte[source.Length];
source.Read(bytes, 0, (int)source.Length);
source.Close();
//source.CopyTo(targetFile);
//doc.Load(source.Write());
//targetFile.Close();
}
}
}
.net 3,5 を使用しているため、Streamsource.CopyTo
メソッドを使用できません。Sheet1.xml の内容を XmlDocument クラスのドキュメントにコピーしたいと思います。
ありがとう!ポール