4

データセットに入力する前に、Excel シートのすべての列を一般的なタイプに変更することはできますか? アプリケーションで Interop またはその他のサード パーティの DLL を使用できません。OleDbDataAdapter を使用して、データをデータセットに入力しています。

string SourceConstr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + fileName + "';Extended Properties= 'Excel 12.0;HDR=NO;TypeGuessRows=0;ImportMixedTypes=General'";
OleDbConnection con = new OleDbConnection(SourceConstr);
string query = "Select * from [Sheet1$A9:FG100]";
OleDbDataAdapter data = new OleDbDataAdapter(query, con);
data.Fill(ds);
4

1 に答える 1

-1

1つの方法は、すべての列を取得して変更することです

foreach (DataColumn c in DT.Columns)
{
    iColumnCount++;
    if(iRowCount == 0)
        Worksheet.Cells[1, iColumnCount] = c.ColumnName;
    else
        Worksheet.Cells[iRowCount, iColumnCount] = c.ColumnName;

    Worksheet.Columns.AutoFit(); //Correct the width of the columns
    //THIS IS WHERE I WANT TO COLOR THE HEADERS
}


    foreach (DataRow r in DT.Rows)
    {
        iRowCount++;
        iColumnCount = 0;
        foreach (DataColumn c in DT.Columns)
        {
            iColumnCount++;
            if(iRowCount == 1)
                Worksheet.Cells[iRowCount + 1, iColumnCount] = r[c.ColumnName].ToString();
            else
                Worksheet.Cells[iRowCount, iColumnCount] = r[c.ColumnName].ToString();

            Worksheet.Columns.AutoFit(); //Correct the width of the columns
        }
    }

色の変化やアリの性質

Worksheet.Range["A1","G1"].Interior.Color = Excel.XlRgbColor.rgbDarkBlue;

Worksheet.Range["A1","G1"].name または header = Excel.XlRgbColor.rgbWhite;

于 2012-10-23T10:27:32.400 に答える