1

その範囲内の特定のセルがロックされているかどうかを確認する方法、

コードの小さなスニペットを投稿しています。セルがロックされていない場合は、セルに書き込むより良い方法を提案してください。

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) のセルに書き込む必要がある場合、最初のセルがロックされていると言うと、そのセルに書き込むことができず、他のセルへの書き込みを続行する必要があります。

これを行う際に私を助けてください。ありがとう、ラム

4

1 に答える 1