Delegate WriteDelegate
Delegate in which the application writes the ZipEntry
content for the named entry.
Namespace: OfficeOpenXml.Packaging.Ionic.Zip
Assembly: EPPlus.dll
Syntax
public delegate void WriteDelegate(string entryName, Stream stream);
Parameters
Type | Name | Description |
---|---|---|
System.String | entryName | The name of the entry that must be written. |
System.IO.Stream | stream | The stream to which the entry data should be written. |
Remarks
When you add an entry and specify a WriteDelegate
, via OfficeOpenXml.Packaging.Ionic.Zip.ZipFile.AddEntry(System.String,OfficeOpenXml.Packaging.Ionic.Zip.WriteDelegate), the application
code provides the logic that writes the entry data directly into the zip file.
Examples
This example shows how to define a WriteDelegate that obtains a DataSet, and then writes the XML for the DataSet into the zip archive. There's no need to save the XML to a disk file first.
private void WriteEntry (String filename, Stream output)
{
DataSet ds1 = ObtainDataSet();
ds1.WriteXml(output);
}
private void Run()
{
using (var zip = new ZipFile())
{
zip.AddEntry(zipEntryName, WriteEntry);
zip.Save(zipFileName);
}
}
Private Sub WriteEntry (ByVal filename As String, ByVal output As Stream)
DataSet ds1 = ObtainDataSet()
ds1.WriteXml(stream)
End Sub
Public Sub Run()
Using zip = New ZipFile
zip.AddEntry(zipEntryName, New WriteDelegate(AddressOf WriteEntry))
zip.Save(zipFileName)
End Using
End Sub
See Also
OfficeOpenXml.Packaging.Ionic.Zip.ZipFile.AddEntry(System.String,OfficeOpenXml.Packaging.Ionic.Zip.WriteDelegate)