Excel® Elektronik Tabloları için Ücretsiz .NET Kitaplığı
Açık kaynaklı .NET kitaplığı aracılığıyla XLS ve XLSX dosyalarını okuyun, yazın, değiştirin ve dönüştürün.
NPOI nedir?
NPOI, POI Java projesinin .NET sürümüdür. Microsoft Excel dosya formatlarını okumak ve yazmak için açık kaynak kodlu bir .NET kütüphanesidir. NPOI.HSSF ad alanı, XLS dosya biçimini değiştirme yeteneği sağlarken, NPOI .XSSF ad alanı, XLSX dosyaları oluşturmanıza ve değiştirmenize olanak tanır.
NPOI is a .NET version of POI Java project. It is an open source .NET library to read and write Microsoft Excel file formats. NPOI.HSSF namespace provides the ability to manipulate XLS file format, while NPOI.XSSF namespace allows you to create & modify XLSX files.
NPOI is a .NET version of POI Java project. It is an open source .NET library to read and write Microsoft Excel file formats. NPOI.HSSF namespace provides the ability to manipulate XLS file format, while NPOI.XSSF namespace allows you to create & modify XLSX files.
NPOI, herhangi bir harici bağımlılık olmadan metin eklemenize, köprüler eklemenize, hücreler ve sütunlar oluşturmanıza ve stil oluşturmanıza, görüntüler eklemenize ve mevcut XLS ve XLSX dosyalarından içerik okumanıza olanak tanır.
NPOI Nasıl Kurulur?
NPOI'yi NuGet'ten yükleyin
Install-Package NPOI -Version 2.4.1
XLSX Dosyasını C# ile Değiştirin
NPOI, .NET programcılarının kendi .NET uygulamalarından elektronik tabloları oluşturmasına ve değiştirmesine olanak tanır. Mevcut bir dosyayı değiştirmek için dosyayı yükleyebilir ve metni, tabloları, stilleri ve daha fazlasını güncelleyebilirsiniz.
XLSX'i NPOI - C# ile düzenleyin
IWorkbook wb = new XSSFWorkbook();
// Create a Worksheet
ISheet ws = wb.CreateSheet("FileFormat");
ICellStyle style = wb.CreateCellStyle();
//Setting the line of the top border
style.BorderTop = BorderStyle.Thick;
style.TopBorderColor = 256;
style.BorderLeft = BorderStyle.Thick;
style.LeftBorderColor = 256;
style.BorderRight = BorderStyle.Thick;
style.RightBorderColor = 256;
style.BorderBottom = BorderStyle.Thick;
style.BottomBorderColor = 256;
IRow row = ws.CreateRow(0);
ICell cell = row.CreateCell(1);
cell.CellStyle = style;
FileStream sw = File.Create("fileformat.xlsx");
wb.Write(sw);
sw.Close();
NPOI ile XLS'yi XLSX'e dönüştürün
NPOI kullanarak açıp değiştirdikten sonra XLS dosyasını XLSX olarak kaydetmek için adımları izleyin.
- Yeni XSSFWorkbook oluştur
- XLS'nin her çalışma sayfası için uygun XSSF Sayfası oluşturun
- XLS çalışma sayfasından XLSX çalışma sayfasına veri kopyalama
- Biçimlendirmeyi XLS çalışma sayfasından XLSX çalışma sayfasına kopyalayın
- Çalışma kitabını XLSX formatında kaydet
NPOI - C# ile XLS'yi XLSX'e dönüştürme
HSSFWorkbook retVal = new HSSFWorkbook();
for (int i = 0; i < source.NumberOfSheets; i++)
{
HSSFSheet hssfSheet = (HSSFSheet)retVal.CreateSheet(source.GetSheetAt(i).SheetName);
XSSFSheet xssfsheet = (XSSFSheet)source.GetSheetAt(i);
CopySheets(xssfsheet, hssfSheet, retVal);
}
C# ile XLSX'e Resim Ekleme
API, geliştiricilerin elektronik tablo belgelerine resim eklemesine olanak tanır. Bir görüntü ekleyebilir ve görüntü özelliklerini ayarlayabilirsiniz. API, XLSX dosya formatındaki görüntüleri kolayca işlemek için çeşitli yöntemlere izin verir. IClientAnchor, görüntünün çalışma sayfası içinde üst, alt, sol ve sağ konumlarını ayarlamanıza olanak tanır.
XSSF NPOI ile Tablo Oluştur - C#
IWorkbook wb = new XSSFWorkbook();
ISheet sheet1 = wb.CreateSheet("First Sheet");
// Add picture data to this workbook.
byte[] bytes = File.ReadAllBytes("fileformat.png");
int pictureIdx = wb.AddPicture(bytes, PictureType.PNG);
ICreationHelper helper = wb.GetCreationHelper();
// Create the drawing patriarch. This is the top level container for all shapes.
IDrawing drawing = sheet1.CreateDrawingPatriarch();
// add a picture shape
IClientAnchor anchor = helper.CreateClientAnchor();
// set top-left corner of the picture,
// subsequent call of Picture#resize() will operate relative to it
anchor.Col1 = 3;
anchor.Row1 = 2;
IPicture pict = drawing.CreatePicture(anchor, pictureIdx);
// auto-size picture relative to its top-left corner
pict.Resize();
FileStream sw = File.Create("image.xlsx");
wb.Write(sw);
sw.Close();