-1

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 クラスのドキュメントにコピーしたいと思います。

ありがとう!ポール

4

1 に答える 1