その範囲内の特定のセルがロックされているかどうかを確認する方法、
コードの小さなスニペットを投稿しています。セルがロックされていない場合は、セルに書き込むより良い方法を提案してください。
if (reader.HasRows) { minRow = 0; 最小列 = 0;
// 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;
int jValueIndex = 1;
// If the Reading Format is by ColumnByColumn
if (CurTaskNode.ReadFormat == "ColumnbyColumn")
{
minCol = 0;
int lengthHeader = 0;
if (CurTaskNode.ReadHeader == true)
{
lengthHeader = CurTaskNode.HEADER_MAX_ROW - CurTaskNode.HEADER_MIN_ROW;
}
else
{
lengthHeader = CurTaskNode.HeaderData.Length;
}
for (int iCol = 0; iCol < lengthHeader; iCol++)
{
// Checking whether the Header data exists or not
if (CurTaskNode.HeaderData[minCol] != "")
{
//if (!(excelworksheet.Cells[CurTaskNode.DATA_MIN_ROW + minRow, CurTaskNode.DATA_MIN_COL + minCol]).Locked)
//{
// 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++;
}
コードでは、Excelセルへの書き込みは
Excelworksheet.Cells[CurTaskNode.DATA_MIN_ROW + minRow, CurTaskNode.DATA_MIN_COL + minCol] = 値[iValueIndex];
ここで、セルがロックされているかどうかの状態を確認する必要があるため、試してみましたが、これは正しくありません。
CurTaskNode.DATA_MIN_ROW は、そのデータを Excel シートに書き込むための minrow 値です。この値は XML ファイルから取得されます。(10, 2) から (20, 10) のセルに書き込む必要がある場合、最初のセルがロックされていると言うと、そのセルに書き込むことができず、他のセルへの書き込みを続行する必要があります。
これを行う際に私を助けてください。ありがとう、ラム