C# 如何设置列长度和类型

C# 如何设置列长度和类型,c#,asp.net,excel,datatable,ado.net,C#,Asp.net,Excel,Datatable,Ado.net,我正在从xls/xlsx文件读取到数据集 string connstring; if (currFileExtension == ".xlsx") { connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + currFilePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";

我正在从
xls/xlsx
文件读取到
数据集

string connstring;
            if (currFileExtension == ".xlsx")
            {
                connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + currFilePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
            }
            else
            {
                connstring = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + currFilePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
            }

            using (OleDbConnection conn = new OleDbConnection(connstring))
            {
                conn.Open();
                DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });  //Get All Sheets Name
                string firstSheetName = sheetsName.Rows[0][2].ToString();   //Get the First Sheet Name
                string sql = string.Format("SELECT * FROM [{0}]", firstSheetName);  //Query String
                OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
                DataSet set = new DataSet();

                ada.Fill(set);

}
其中一列是字符串,在255个字符后被剪切

如何在填充数据集之前设置列?
可能是excel的问题,我需要更改excel中的列?

您可以将定义的数据表添加到数据集

以下是代码:

DataSet dataSet = new DataSet();

DataTable customTable = new DataTable();
DataColumn dcName = new DataColumn("Name", typeof(string));
dcName.MaxLength= 500;
customTable.Columns.Add(dcName);

dataSet.Tables.Add(customTable);