Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Cells stöder uppdelning av en enskild Excel-fil i flera filer. Det finns två primära sätt att göra detta: (1) genom att kopiera varje kalkylblad i källarbetsboken till en ny arbetsbok och spara varje som en separat fil, och (2) genom att kopiera ett specifikt cellintervall från ett kalkylblad till en ny arbetsbok. Båda metoderna är användbara när du behöver distribuera delmängder av data, skapa mindre rapporter för olika mottagare, eller isolera data för individuell bearbetning.
Det finns många verkliga scenarier där en utvecklare behöver dela upp en enskild Excel-fil i flera mindre filer. Till exempel kan en arbetsbok innehålla ett kalkylblad per avdelning, och varje avdelningschef behöver bara få sitt eget blad. I andra fall kanske du vill extrahera en viss tabell eller datablock från ett kalkylblad och skicka den som en fristående fil via e-post, utan att exponera resten av arbetsboken. Stora konsoliderade arbetsböcker kan också behöva delas upp i mindre bitar för enklare hantering, snabbare laddning, eller vidarebearbetning av andra system.
Aspose.Cells erbjuder två flexibla metoder för denna uppgift. Den första metoden itererar genom varje kalkylblad i källarbetsboken och kopierar dess innehåll till en helt ny Workbook-instans, och sparar varje som en separat fil. Den andra metoden fokuserar på ett specifikt cellintervall i ett kalkylblad och kopierar bara det intervallet till en ny arbetsbok. I båda fallen är det allmänna flödet detsamma: ladda källarbetsboken med hjälp av Workbook-klassen, få åtkomst till relevant data genom Worksheet- och Cells-objekten, överför innehållet till en destinations-Workbook, och spara sedan destinationen till disk.
I denna metod öppnas källarbetsboken en gång, och sedan skapas en ny destinations-Workbook för varje Worksheet i dess Worksheets-samling. Innehållet i källkalkylbladet kopieras sedan till det första kalkylbladet i destinationsarbetsboken, och destinationsarbetsboken sparas som en fil vars namn härleds från källkalkylbladets namn. Resultatet är en utdatafil per kalkylblad, där varje utdatafil innehåller data från ett enda källblad.
Denna metod är rätt val när varje kalkylblad i din källarbetsbok representerar en logiskt oberoende informationsenhet (till exempel en avdelning, region, månad eller produktlinje) och du vill leverera eller bearbeta varje enhet separat.
Följande steg beskriver hur man delar upp en Excel-fil genom att kopiera varje kalkylblad till en ny arbetsbok:
Workbook-objekt och skicka filsökvägen till dess konstruktor.Workbook.Worksheets-samlingen med hjälp av en for- eller foreach-loop så att varje Worksheet i källfilen bearbetas.Workbook-instans (en tom arbetsbok) för det aktuella kalkylbladet.Cells-samling och skriva deras värden till motsvarande celler i destinationskalkylbladet, eller genom att använda Cells.copy-metoden för att överföra ett helt intervall på en gång.dataDir + worksheet.getName() + ".xls") så att varje genererad fil har ett unikt namn.Workbook.save-metoden för att skriva filen till disk.import com.aspose.cells.*;
String dataDir = "data/";
Workbook workbook = new Workbook(dataDir + "book1.xls");
for (int i = 0; i < workbook.getWorksheets().getCount(); i++)
{
Worksheet sourceSheet = workbook.getWorksheets().get(i);
String sheetName = sourceSheet.getName();
<span class="n">Workbook</span> <span class="n">destWorkbook</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Workbook</span><span class="o">();</span>
<span class="kt">int</span> <span class="n">destIndex</span> <span class="o">=</span> <span class="n">destWorkbook</span><span class="o">.</span><span class="na">getWorksheets</span><span class="o">().</span><span class="na">add</span><span class="o">();</span>
<span class="n">Worksheet</span> <span class="n">destSheet</span> <span class="o">=</span> <span class="n">destWorkbook</span><span class="o">.</span><span class="na">getWorksheets</span><span class="o">().</span><span class="na">get</span><span class="o">(</span><span class="n">destIndex</span><span class="o">);</span>
<span class="n">destSheet</span><span class="o">.</span><span class="na">setName</span><span class="o">(</span><span class="n">sheetName</span><span class="o">);</span>
<span class="n">destSheet</span><span class="o">.</span><span class="na">copy</span><span class="o">(</span><span class="n">sourceSheet</span><span class="o">);</span>
<span class="n">String</span> <span class="n">destFile</span> <span class="o">=</span> <span class="n">dataDir</span> <span class="o">+</span> <span class="n">sheetName</span> <span class="o">+</span> <span class="s">".xls"</span><span class="o">;</span>
<span class="n">destWorkbook</span><span class="o">.</span><span class="na">save</span><span class="o">(</span><span class="n">destFile</span><span class="o">,</span> <span class="n">SaveFormat</span><span class="o">.</span><span class="na">EXCEL_97_TO_2003</span><span class="o">);</span>
}
Den förväntade utdatan är en uppsättning nya filer i datakatalogen, en fil per kalkylblad från källarbetsboken. Varje fil är namngiven efter sitt motsvarande källblad, och filen innehåller data (och valfritt formatering) från det enskilda bladet.
Ibland motsvarar inte datan du behöver dela upp ett helt kalkylblad utan snarare en specifik rektangulär region av ett kalkylblad, såsom A1:D10 eller ett namngivet intervall som representerar en viss tabell. I dessa fall är det slösaktigt att kopiera hela kalkylblad, och en mer precis metod krävs: identifiera källintervallet, kopiera bara det intervallet till en ny arbetsbok, och spara den nya filen.
Denna metod är idealisk när du vill extrahera en enskild tabell, rapportblock eller dataområde från ett större kalkylblad medan du kasserar all orelaterat innehåll. Det är också användbart för att exportera användarvalda regioner av ett blad som fristående filer.
Följande steg beskriver hur man delar upp en Excel-fil genom att kopiera ett specifikt intervall till en ny arbetsbok:
Workbook-objekt med filsökvägen.Worksheet som innehåller intervallet du vill kopiera, antingen via index (till exempel det första bladet) eller via namn från Worksheets-samlingen.A1:C10, eller ett namngivet intervall erhållet genom Worksheet.Cells-samlingen, eller ett intervall skapat via Worksheet.Cells.createRange.Workbook-instans.Worksheet i destinationsarbetsboken (standardbladet).A1. Cells.copy-metoden på destinations-Cells-samlingen kan användas för att kopiera ett helt intervall, eller så kan du iterera genom källintervallets celler och skriva deras värden till destinationscellerna med putValue. Valfria CopyOptions kan tillhandahållas för att styra vad som överförs (endast värden, värden och stilar, formler, och så vidare).Workbook.save-metoden.Den förväntade utdatan är en enskild ny fil i datakatalogen som endast innehåller värdena (och valfritt formateringen) av det angivna intervallet extraherat från källarbetsboken. Destinationsfilen har ingen relation till någon annan data i källfilen; den innehåller bara det extraherade intervallet, med början från cell A1 i sitt första kalkylblad.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.