Я импортирую данные в таблицы Excel из базы данных. Для этого я использую datareader. Шаблон листа Excel содержит несколько макросов и несколько вычисленных формул, и это не обычный лист Excel. поэтому я должен записывать данные в таблицу Excel только в том случае, если разрешена запись в конкретную ячейку. Если нет, данные не должны быть импортированы.
Итак, для этого у меня есть XML-файл, в котором говорится, с какого столбца я должен начать писать и в какой строке он должен остановиться, я сделал это для многих листов. Но на одном листе первая ячейка строки «только для чтения» (заблокирована), а для остальных разрешен доступ на запись.
Поскольку я получаю всю строку из БД с помощью Datareader, я застрял с необходимостью записи в другие ячейки, без записи в заблокированную ячейку.
Я прилагаю фрагмент кода для справки.
Пожалуйста, помогите мне в этом.
Образец ::
if (reader.HasRows)
{
minRow = 0;
minCol = 0;
Excel.Workbook SelWorkBook = excelAppln.Workbooks.Open(curfile, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, false, false, false);
Excel.Sheets excelSheets = SelWorkBook.Worksheets;
Excel.Worksheet excelworksheet = (Excel.Worksheet)excelSheets.get_Item(CurSheetName);
// Process each result in the result set
while (reader.Read())
{
// Create an array big enough to hold the column values
object[] values = new object[reader.FieldCount];
// Add the array to the ArrayList
rowList.Add(values);
// Get the column values into the array
reader.GetValues(values);
int iValueIndex = 0;
// If the Reading Format is by ColumnByColumn
if (CurTaskNode.ReadFormat == "ColumnbyColumn")
{
minCol = 0;
// minRow = 0;
for (int iCol = 0; iCol < CurTaskNode.HeaderData.Length; iCol++)
{
// Checking whether the Header data exists or not
if (CurTaskNode.HeaderData[minCol] != "")
{
// Assigning the Value from reader to the particular cell in excel sheet
excelworksheet.Cells[CurTaskNode.DATA_MIN_ROW + minRow, CurTaskNode.DATA_MIN_COL + minCol] = values[iValueIndex];
iValueIndex++;
}
minCol++;
}
minRow++;
}SelWorkBook.Close(true, curfile, null);
Пожалуйста, помогите мне решить эту проблему.
Спасибо,
Рамм