एक्सेल को प्रोग्रामेटिक रूप से रेंज मिल रहा है - सी #, एक्सेल, रिपोर्ट

I"ve an excel report to be generated and below is जिस कोड का मैंने उपयोग किया है। यहां मैं "ए से ज़ेड तक रेंज को हार्डकोड कर रहा हूं। क्या डेटासेट में कॉलम के आधार पर रेंज को पुनर्प्राप्त करने का कोई तरीका है? असल में मैं सिर्फ हार्डकोडेड मानों को हटाना चाहता हूं।

किसी भी तरह की सहायता का स्वागत किया जाएगा।

            strCol = String.Empty;
iRow = 0;

foreach (DataRow r in ds.Tables[0].Rows)
{
iRow++;

// add each row"s cell data...
iCol = 0;
foreach (DataColumn c in ds.Tables[0].Columns)
{
iCol++;
thisWorksheet.Cells[iRow + 1, iCol] = r[c.ColumnName];
**strCol = "A" + (iRow + 1) + ":Z" + iCol;**
thisWorksheet.Range[strCol].Borders.Weight = 2;
}
}

उत्तर:

उत्तर № 1 के लिए 1

प्रदर्शन के लिए आप किसी ऑब्जेक्ट में श्रेणी डाल सकते हैं [,] और अंत में इसे वापस लिख सकते हैं।

object[,] orange = range.value;

object[1,1] = "test";

range = orange;

जवाब के लिए 0 № 2

मैं 100% निश्चित नहीं हूं कि आप क्या करना चाहते हैं, लेकिन आप इस तरह की रेंज प्राप्त कर सकते हैं:

Excel.Application excelApp = null;
Excel.Workbook wkbk;
Excel.Worksheet sheet;

excelApp = new Excel.Application();
wkbk = excelApp.Workbooks.Add();
sheet = wkbk.Sheets.Add() as Excel.Worksheet;

Excel.Range c1 = sheet.Cells[Row, Column]; //For instance Cells[1,1] for i think A1
Excel.Range c2 = sheet.Cells[Row, Column];
Excel.Range range = (Excel.Range)sheet.get_Range(c1,c2);

संबंधित सवाल
सबसे लोकप्रिय