Asp.net mvc 将多个Excel文件流式处理为一个文件
我想使用webservice或httphandler交付大型Excel文件 由于Excel文件的大小可能非常大,我想将它们拆分为较小的文件,以减少内存占用 因此,我将有一个包含列标题和数据的主Excel文件。 以及仅包含数据的其他文件 在下载过程中,我想先流式处理主excel文件,然后将所有其他相关excel文件作为一个下载流附加。 我不想拉拉链!结尾应该是一个文件 这可能吗?Asp.net mvc 将多个Excel文件流式处理为一个文件,asp.net-mvc,web-services,filestream,httphandler,Asp.net Mvc,Web Services,Filestream,Httphandler,我想使用webservice或httphandler交付大型Excel文件 由于Excel文件的大小可能非常大,我想将它们拆分为较小的文件,以减少内存占用 因此,我将有一个包含列标题和数据的主Excel文件。 以及仅包含数据的其他文件 在下载过程中,我想先流式处理主excel文件,然后将所有其他相关excel文件作为一个下载流附加。 我不想拉拉链!结尾应该是一个文件 这可能吗? 带标题的主excel文件: 所有其他文件的外观如下(无标题): 这真的会让人回想起废话: void Main()
带标题的主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);
}
}
}
当您请求文件时,不要在第一次请求时下载它
src
作为要下载的每个文件的文件路径src
属性时,它将导航到文件路径,每个iFrame将下载单个文件,因此多个iFrame将下载多个文件
您不能在一次请求中下载多个文件。就像您将附加多个文件流一样,它将创建一个垃圾文件,一个垃圾文件。当您请求文件时,不要在第一次请求时下载它
src
作为要下载的每个文件的文件路径src
属性时,它将导航到文件路径,每个iFrame将下载单个文件,因此多个iFrame将下载多个文件
您不能在一次请求中下载多个文件。就好像您将附加多个文件流一样,它将创建一个垃圾文件,一个垃圾文件。您可能需要为其构建一些自定义的文件,但我相信这是可能的。为什么要否决,请解释一下?!你可能需要为它定制一些东西,但我相信这是可能的。为什么要投反对票,请解释一下?!