Je souhaite fournir des fichiers Excel volumineux à l'aide d'un service Web ou d'un httphandler. Comme les fichiers Excel peuvent être de très grande taille, je veux les diviser en fichiers plus petits, afin de réduire l'empreinte de la mémoire. Donc, je vais avoir un excelfile maître qui contient les en-têtes et les données de la colonne. Et d'autres fichiers qui ne contiendront que des données.Diffusion de plusieurs fichiers Excel sous la forme d'un fichier
Pendant le téléchargement, je veux d'abord streamer le fichier master excel puis ajouter tous les autres fichiers excel comme un flux de téléchargement. Je ne veux pas les compresser! Il devrait y avoir un fichier à la fin
Est-ce possible?
fichier maître Excel avec les en-têtes:
Tous les autres fichiers ressemblera à ceci (sans en-tête):
Cela fait revenir la merde:
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);
}
}
}
Vous pourriez avoir à construire quelque chose de personnalisé pour cela, mais je suis sûr que c'est possible. – code11
Pourquoi les downvotes, s'il vous plaît expliquer?! – Legends