ile tek tek hücrelerin biçimi nasıl belirtilir Bir tabloyu bir excel çalışma sayfasına yazdığımda, tek tek hücrelere yazmak yerine tam aralıklarla çalışmayı biliyorum. Ancak, Excel'e vereceğim diziyi doldururken formatı belirtmenin bir yolu var mı?Excel.Range.set_Value()
İşte şimdi böyle yapar:
object MissingValue = System.Reflection.Missing.Value;
Excel.Application excel = new Excel.Application();
int rows = 5;
int cols = 5;
int someVal;
Excel.Worksheet sheet = (Excel.Worksheet)excel.Workbooks.Add(MissingValue).Sheets[1];
Excel.Range range = sheet.Range("A1", sheet.Cells(rows,cols));
object[,] rangeData = new object[rows,cols];
for(int r = 0; r < rows; r++)
{
for(int c = 0; c < cols; c++)
{
someVal = r + c;
rangeData[r,c] = someVal.ToString();
}
}
range.set_Value(MissingValue, rangeData);
Şimdi o sayıların bazı yüzdeleri olarak biçimlendirilmesi gerektiğini varsayalım. Hücre bazında geri dönebileceğimi ve formatı değiştirebileceğimi biliyorum, ancak tek bir Range.set_Value() çağrısı kullanmanın tüm amacını yenmek gibi görünüyor. Ben rangeData [,] yapısını formatlama bilgisi dahil edebilir miyim, böylece set_Value() dediğimde, hücreler istediğim şekilde biçimlendirilir mi?
Netleştirmek gerekirse, Excel.Range nesnesinin tümünün biçimini ayarlayabildiğimi biliyorum. İstediğim, iç döngüde belirtilen her hücre için farklı bir biçime sahip olmak.
Kendi cevabımı kabul etmeme rağmen, karar verdiğim dosya yazmak için Excel otomasyonunun kullanılması kötü bir plan. İleriye doğru yazmak için ExcelPackage kütüphanesini kullanıyorum.xlsx dosyaları –
+ güzel bir kod parçası olduğu için;) Bir hücre dizisini ayarlamak için formatSpecifier kullanabileceğinizi bilmiyordum. –