Raja

Raja

  • 549
  • 2k
  • 345.5k

How to read a data row from Excel with more than 255 char?

Jul 28 2017 2:55 AM
I have upload one excel and convert into datatable using below code.
 
 
 
public DataSet FillExcells()
{
OleDbConnection con;
System.Data.DataTable dt = null;
string conn = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + Request.Fullpath + "; Extended Properties='Excel 12.0;HDR=Yes'";
con = new OleDbConnection(conn);
try
{
con.Open();
DataSet ds = new DataSet();

dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
for (int i = 0; i < dt.Rows.Count; i++)
{
string getExcelSheetName = dt.Rows[i]["Table_Name"].ToString();
if (getExcelSheetName == "CRF$")
{
OleDbCommand ExcelCommand = new OleDbCommand(@"SELECT * FROM [" + getExcelSheetName + @"]", con);
OleDbDataAdapter ExcelAdapter = new OleDbDataAdapter(ExcelCommand);
DataTable ExcelDataSet = new DataTable("SOURCE");
ExcelAdapter.Fill(ExcelDataSet);
SetValueForNull(ExcelDataSet);
//ds.Tables.Add(ExcelDataSet);

for (int j = ExcelDataSet.Rows.Count - 1; j >= 10; j--)
{
if (ExcelDataSet.Rows[j][2].ToString() == "" || ExcelDataSet.Rows[j][2].ToString() == "0")
{
ExcelDataSet.Rows[j].Delete();
}
}
ExcelDataSet.AcceptChanges();
ds.Tables.Add(ExcelDataSet);
}
}
return ds;
}
catch { throw; }
finally { con.Close(); }
 
 
 
 
 
 
but the datatable read only 255 characters how to fix it.
i have seen some solutions
  Excel 97

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Excel

Excel 2000 and later versions

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
 
second one regedit setting in my machine how to fix it.
 
 

Answers (1)