Мне нужна помощь, отображающая значения excel в datagridview. Мне удается отображать значения, но некоторые из значений отсутствуют (столбцы и значения строк). I имеет 1000 строк в моем файле excel, и в виде сетки данных отображается только 333 элемента. и у меня есть 148 номеров столбцов, но на нем есть только некоторые из них. может кто-нибудь сказать мне, в чем проблема.Отображение значений excel Workbook в DataGridView C#
вот мой код:
public partial class MainBagsakan : Form
[enter image description here][1]
String [email protected]"C:\Users\tjjtabije\Desktop\TestExcelUpdater\TestUnoREFARM.xlsx";
private string Excel07ConString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\t-jjtabije\\Desktop\\TestExcelUpdater\\TestUnoREFARM.xlsx;Extended Properties='Excel 12.0 Xml;IMEX=1;HDR=YES;TypeGuessRows=0;ImportMixedTypes=Text'";
private void WorkOrderTab()
{
string filePath = Path.GetFullPath(WOmain);
string extension = Path.GetExtension(filePath);
string conStr, sheetName;
conStr = string.Empty;
//Get the name of the First Sheet.
using (OleDbConnection con = new OleDbConnection(Excel07ConString))
{
using (OleDbCommand cmd = new OleDbCommand())
{
cmd.Connection = con;
con.Open();
DataTable dtExcelSchema = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
sheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
con.Close();
}
}
using (OleDbConnection con = new OleDbConnection(Excel07ConString))
{
using (OleDbCommand cmd = new OleDbCommand())
{
using (OleDbDataAdapter oda = new OleDbDataAdapter())
{
DataTable dt = new DataTable();
cmd.Connection = con;
cmd.CommandText = "SELECT * [" +sheetName+ "]";
con.Open();
oda.SelectCommand = cmd;
oda.Fill(dt);
con.Close();
//Populate DataGridView.
WorkLoadDisp.DataSource = dt;
label1.Text = dt.Rows.Count.ToString();
}
}
}
}
Вы должны установить точку прерывания в 'WorkLoadDisp.DataSource = dt;' и проверить, что находится в 'dt'. Я предполагаю, что вы не можете получать все данные, которые, по вашему мнению, должны. Просто догадка. – JohnG
Привет, сэр. что означает слово «точка останова»? пожалуйста, объясните далее, им жаль, что новое для программирования. и да, я не получаю все данные на excel. спасибо за помощь –
Если вы используете IDE, например Visual Studio, вы можете установить точку останова на строке кода. (rightClick-> Breakpoint) Когда вы запустите код, он перестанет выполняться в точке останова. Когда он останавливается, вы можете проверить свои переменные типа 'dt', чтобы увидеть, что они содержат. Идея заключается в том, что вы указываете на «DataGridView», не отображая должным образом, и это может быть, однако, прежде чем искать проблему «DataGridView» ... убедитесь, что данные, которые вы получаете от excel, верны. Надеюсь, это имеет смысл. – JohnG