【发布时间】:2017-02-16 12:00:37
【问题描述】:
我想使用 web 服务或 httphandler 交付大型 Excel 文件。
由于 Excel 文件可能非常大,我想将它们拆分成更小的文件,以减少内存占用。
所以我将有一个包含列标题和数据的主 excel 文件。 以及仅包含数据的其他文件。
在下载过程中,我想先流式传输主 excel 文件,然后将所有其他相关的 excel 文件附加为一个下载流。 我不想压缩它们!最后应该是一个文件
这确实会返回废话:
void Main()
{
CombineMultipleFilesIntoSingleFile();
}
// Define other methods and classes here
private static void CombineMultipleFilesIntoSingleFile(string outputFilePath= @"C:\exceltest\main.xlsx", string inputDirectoryPath = @"C:\exceltest", string inputFileNamePattern="*.xlsx")
{
string[] inputFilePaths = Directory.GetFiles(inputDirectoryPath, inputFileNamePattern);
Console.WriteLine("Number of files: {0}.", inputFilePaths.Length);
using (var outputStream = File.Create(outputFilePath))
{
foreach (var inputFilePath in inputFilePaths)
{
using (var inputStream = File.OpenRead(inputFilePath))
{
// Buffer size can be passed as the second argument.
inputStream.CopyTo(outputStream);
}
Console.WriteLine("The file {0} has been processed.", inputFilePath);
}
}
}
【问题讨论】:
-
您可能需要为它构建一些自定义的东西,但我相信这是可能的。
-
为什么要投反对票,请解释一下?!
标签: asp.net-mvc web-services filestream httphandler