Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Cell.EmbeddedImage özelliği Aspose.Cells 26.5 ve sonrasında kullanılabilir.
Sparkline’lar, eğilimleri doğrudan bir çalışma sayfasının içinde görselleştirmenin kompakt bir yoludur. Excel kullanıcıları onları yerinde görse de, birçok gerçek dünya senaryosu bir sparkline’ın hücreden çıkmasını gerektirir; örneğin statik bir resim olarak farklı bir hücreye gömülmek, otomatik bir e-postaya eklenmek veya web’de yayınlanan bir HTML raporunun parçası olarak oluşturulmak.
Aspose.Cells bu işlemlerin her ikisini de destekler. Sparkline.toImage yöntemi tek bir sparkline’ı bir akışa dönüştürür ve elde edilen baytlar Cell.EmbeddedImage‘a atanarak resim çalışma kitabının tek bir hücresinin içinde saklanabilir. Ayrı olarak, HtmlSaveOptions tüm çalışma kitabını — sparkline’lar dahil — kendi kendine yeten bir HTML dosyasına dönüştürmenize olanak tanır. Bu makale her iki iş akışını da uçtan uca ele almaktadır.
Bu iş akışında, kaynak değerlerin küçük bir aralığını içeren bir çalışma sayfası oluşturacak, o aralığa üç farklı sparkline grubu (Çizgi, Sütun ve Yığılmış/Kazanma-Kaybetme) ekleyecek, her grubu PNG olarak oluşturacak ve bu PNG baytlarını bitişik hücrelere gömülü görüntüler olarak yazacaksınız. Son sonuç, hem canlı sparkline’ları hem de oluşturulan resim karşılıklarını içeren tek bir .xlsx dosyasıdır.
Workbook oluşturun ve ilk Worksheet‘e bir referans edinin.A1‘den E1‘e kadar olan hücreleri beş örnek sayısal değerle doldurun (örneğin, günlük satışlar veya sıcaklık okumaları).worksheet.sparklineGroups.add(...) çağrısıyla üç SparklineGroup nesnesi ekleyin:
F1‘e sabitlenmiş, veri aralığı A1:E1 olan bir SparklineType.Line grubu.G1‘e sabitlenmiş, veri aralığı A1:E1 olan bir SparklineType.Column grubu.H1‘e sabitlenmiş, veri aralığı A1:E1 olan bir SparklineType.Stacked (kazanma/kaybetme) grubu.ImageOrPrintOptions örneği oluşturun ve ImageType özelliğini ImageType.Png olarak ayarlayın.output_with_sparklines.xlsx olarak kaydedin.let workbook = new AsposeCells.Workbook();
let worksheet = workbook.getWorksheets().get(0);
// A1:E1 hücrelerine örnek veri yerleştir
worksheet.getCells().get("A1").putValue(5);
worksheet.getCells().get("B1").putValue(-3);
worksheet.getCells().get("C1").putValue(8);
worksheet.getCells().get("D1").putValue(-2);
worksheet.getCells().get("E1").putValue(6);
// F1'de (sütun 5, satır 0) sabitlenmiş bir Çizgi sparkline grubu ekle
let lineArea = new AsposeCells.CellArea();
lineArea.setStartColumn(5);
lineArea.setEndColumn(5);
lineArea.setStartRow(0);
lineArea.setEndRow(0);
let lineIdx = worksheet.getSparklineGroups().add(AsposeCells.SparklineType.Line, "A1:E1", false, lineArea);
// G1'de (sütun 6, satır 0) sabitlenmiş bir Sütun sparkline grubu ekle
let columnArea = new AsposeCells.CellArea();
columnArea.setStartColumn(6);
columnArea.setEndColumn(6);
columnArea.setStartRow(0);
columnArea.setEndRow(0);
let columnIdx = worksheet.getSparklineGroups().add(AsposeCells.SparklineType.Column, "A1:E1", false, columnArea);
// H1'de (sütun 7, satır 0) sabitlenmiş bir Kazanma/Kaybetme (Yığılmış) sparkline grubu ekle
let stackedArea = new AsposeCells.CellArea();
stackedArea.setStartColumn(7);
stackedArea.setEndColumn(7);
stackedArea.setStartRow(0);
stackedArea.setEndRow(0);
let stackedIdx = worksheet.getSparklineGroups().add(AsposeCells.SparklineType.Stacked, "A1:E1", false, stackedArea);
// PNG çıktısı için görüntü seçeneklerini yapılandır
let imageOptions = new AsposeCells.ImageOrPrintOptions();
imageOptions.setImageType(AsposeCells.ImageType.Png);
// Çizgi sparkline'ı görüntüye dönüştür ve F2 hücresine göm
let lineSp = worksheet.getSparklineGroups().get(lineIdx).getSparklines().get(0);
let lineMs = new java.io.ByteArrayOutputStream();
lineSp.toImage(lineMs, imageOptions);
worksheet.getCells().get("F2").setEmbeddedImage(lineMs.toByteArray());
// Sütun sparkline'ı görüntüye dönüştür ve G2 hücresine göm
let columnSp = worksheet.getSparklineGroups().get(columnIdx).getSparklines().get(0);
let columnMs = new java.io.ByteArrayOutputStream();
columnSp.toImage(columnMs, imageOptions);
worksheet.getCells().get("G2").setEmbeddedImage(columnMs.toByteArray());
// Kazanma/Kaybetme sparkline'ı görüntüye dönüştür ve H2 hücresine göm
let stackedSp = worksheet.getSparklineGroups().get(stackedIdx).getSparklines().get(0);
let stackedMs = new java.io.ByteArrayOutputStream();
stackedSp.toImage(stackedMs, imageOptions);
worksheet.getCells().get("H2").setEmbeddedImage(stackedMs.toByteArray());
// Çalışma kitabını diske kaydet
workbook.save("output_with_sparklines.xlsx");
Yukarıdaki kod, bir sparkline’ın her görsel temsilinin iki biçimde çoğaltıldığı bir çalışma kitabı üretir: 1. satıra sabitlenmiş canlı, yerel sparkline ve 2. satırdaki bitişik bir hücreye doğrudan gömülü statik bir PNG resmi. Resimler dosyanın kendisinin içinde bulunduğundan, çalışma kitabı gömülü görüntü referanslarını kırmadan e-postayla gönderilebilen veya arşivlenebilen tek bir kendi kendine yeten yapı olarak kalır. Her sparkline grubunu PNG olarak oluşturun, ByteArrayOutputStream‘i byte[]‘ye dönüştürün ve diziyi hedef hücrenin setEmbeddedImage özelliğine atayın — atama, resmin hücrenin saklanan içeriklerinin bir parçası olmasını sağlayan şeydir.
Her sparkline grubu tek bir hücreye sabitlendiğinden, forEach ile numaralandırmak yerine group.sparklines[0] dizin oluşturucusu aracılığıyla ona erişebilirsiniz. Bu, oluşturma kodunu kısa tutar ve tipik “sabitleme hücresi başına bir sparkline” kalıbıyla eşleşir. Resim baytlarını Cell.EmbeddedImage aracılığıyla saklamak Aspose.Cells 26.5 veya sonrasını gerektirir.
Çalışma kitabı canlı sparkline’ları (ve isteğe bağlı olarak gömülü resim karşılıklarını) içerdiğinde, tüm çalışma sayfası HTML olarak kaydedilerek web’de yayınlanabilir. HtmlSaveOptions sınıfı bu dışa aktarmayı kontrol etmek için ihtiyaç duyduğunuz ayar düğmelerini sunar; bu iş akışında İş Akışı 1 tarafından üretilen output_with_sparklines.xlsx dosyasını yeniden kullanacak ve onu temiz, tek sayfalık bir HTML belgesine dönüştüreceksiniz.
output_with_sparklines.xlsx dosyasının çalışma dizininizde diskte mevcut olduğundan emin olun.Workbook örneğine yükleyin.HtmlSaveOptions‘ı örnekleyin ve ExportActiveWorksheetOnly özelliğini true olarak ayarlayın, böylece elde edilen HTML dosyası tüm çalışma kitabı yerine yalnızca etkin çalışma sayfasını içerir.workbook.save("sparklines.html", htmlOptions) çağrısını yapın.let workbook = new AsposeCells.Workbook("output_with_sparklines.xlsx");
let htmlOptions = new AsposeCells.HtmlSaveOptions();
htmlOptions.setExportActiveWorksheetOnly(true);
workbook.save("sparklines.html", htmlOptions);
Yukarıdaki kod, İş Akışı 1’deki sparkline açısından zengin çalışma kitabını alır ve onu taşınabilir bir HTML dosyasına dönüştürür. Sparkline’lar, dışa aktarma moduna bağlı olarak üretilen HTML içinde satır içi SVG veya PNG oluşturmaları olarak korunur, böylece son kullanıcılar Excel yüklemeye gerek kalmadan eğilimleri herhangi bir modern tarayıcıda görüntüleyebilir. ExportActiveWorksheetOnly‘i true olarak ayarlayarak, gizli sayfaları veya yardımcı verileri yanlışlıkla yayınlamaktan kaçınırsınız — yalnızca kullanıcının o anda gördüğü çalışma sayfası dışa aktarılır.
HtmlSaveOptions sınıfı, çıktıyı ince ayarlamak için ExportHiddenWorksheet, ExportImagesAsBase64 ve Encoding gibi ek özellikler sunar. Bunları dağıtım hedefinize göre gerektiği şekilde ayarlayın.
Yukarıdaki iş akışları, birlikte çalışan küçük bir Aspose.Cells API setine dayanır.
SparklineGroup ve koleksiyon erişimcisi worksheet.sparklineGroups, her sparkline grubu için türü (Çizgi, Sütun, Yığılmış), veri aralığını ve sabitleme hücresini bildirmek için kullanılır. Bu makalede her grup tek bir hücreye sabitlenmiştir, bu nedenle gruba worksheet.sparklineGroups[i] aracılığıyla erişilir.Sparkline ve dizin oluşturucu group.sparklines[0], bir grup içindeki tek tek sparkline’ı döndürür. Örnekteki her grup tam olarak bir sparkline içerdiğinden, forEach döngüsü gerekmez.Sparkline.toImage(OutputStream, ImageOrPrintOptions), sparkline’ın resmini sağlanan OutputStream‘e yazan oluşturma yöntemidir. Yöntem void döndürür; çağrıdan sonra baytları akıştan okursunuz.HtmlSaveOptions.ExportActiveWorksheetOnly (bir boolean), HTML dışa aktarmasını etkin çalışma sayfasıyla sınırlar. Tek sayfalık raporlar oluştururken HtmlSaveOptions üzerinde en sık kullanılan özelliklerden biridir.ImageOrPrintOptions.ImageType, com.aspose.cells.drawing ad alanında bulunur ve toImage ile oluştururken ve çalışma sayfalarını görüntülere yazdırırken kullanılan resim biçimini (örneğin, ImageType.Png) seçer.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.