我想在一个ZIP文件中添加两个CSV文件。并在客户端的ASP网络中下载。我正在使用数据集合并两个数据表记录在一个数据集中,并需要下载的按钮点击。我不确定这是不是好的方法,但是,我在"Archive“上得到了错误。我已经添加了
using System.IO;
using System.IO.Compression;但仍然

有没有其他方法可以做到这一点。请给我指引
代码:
protected void btnGenerate_Click(object sender, EventArgs e)
{
DataSet ds = getDataCSV();
DataTable dt = ds.Tables[0];
string csv = string.Empty;
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn column in dt.Columns)
{
csv += row[column.ColumnName].ToString().Replace(",", ";") + ',';
}
csv += "\r\n";
}
DataTable dt1 = ds.Tables[1];
string csv1 = string.Empty;
foreach (DataRow row in dt1.Rows)
{
foreach (DataColumn column in dt1.Columns)
{
csv1 += row[column.ColumnName].ToString().Replace(",", ";") + ',';
}
csv1 += "\r\n";
}
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Create))
{
using (FileStream source1 = File.Open(csv, FileMode.Open, FileAccess.Read))
{
using (FileStream source2 = File.Open(csv1, FileMode.Open, FileAccess.Read))
{
using (var archive = new Archive())
{
// Add files to the archive
archive.CreateEntry(csv, source1);
archive.CreateEntry(csv1, source2);
archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII, ArchiveComment = "two files are compressed in this archive" });
}
}
}
}
}
}发布于 2020-08-31 14:42:54
您可以添加以下截图nuget包在您的项目。

它在我的代码中工作正常。
https://stackoverflow.com/questions/63656282
复制相似问题