【发布时间】:2019-07-13 11:01:19
【问题描述】:
好的,所以我有一个非常大/复杂的问题,请耐心等待。我正在为一家公司编写软件。它基本上将作为他们在 Excel 中的数据库的 GUI 运行。我遇到了一个我个人不知道如何解决的问题。我有一个带有文本框的 Windows 表单,工人将填写这些文本框,这些文本框将形成公司的每日报告。我在下面附上了我的表格的打印机。我的程序要做的是,当人输入阶段编号,然后选择焊缝或法兰时,我需要代码进入我的excel电子表格并拉出所有法兰编号的焊缝(以第二个中选择的为准)框)并将它们放入第三个框中的自动完成或下拉列表中。基本上,这将通过不允许手动输入的人为错误空间来证明公司报告的制作。我还附上了我的 excel 数据库的图片,以便您了解它是如何工作的。如果有人可以帮助我,我将不胜感激。 Daily Report Form GUI --- Excel Database
private void textBox2_TextChanged(object sender, EventArgs e)
{
string phasetocheck = textBox1.Text;
Form1 form1 = new Form1();
string cells = Form1.filePath;
Excel ex = new Excel(cells, 1);
string[,] phasenumbers = ex.ReadRange(2, 2, 57400, 4);
int j = 0;
List<string> list = new List<string>();
int i = 2;
foreach (string x in phasenumbers)
{
if(phasetocheck.Contains(x))
{
list.Add(phasenumbers[4, j]);
j++;
}
i++;
}
string[] weldnums = list.ToArray();
textBox2.AutoCompleteCustomSource.AddRange(weldnums);
【问题讨论】:
-
发布您的代码,我们将尽力帮助您解决问题。附带说明:Excel 是电子表格,而不是数据库。
-
我知道这不是一个数据库,但是这家公司用它来跟踪他们的记录。
-
他们是否可能会在您的程序运行时更改 Excel?如果没有,我建议使用 ADO.Net 并像查询数据库中的表一样查询工作表,这样会容易得多。
-
@NetMage 不,Excel 文件是静态的。 ado.net 是如何工作的?
-
我用示例代码添加了答案。它确实需要在客户端 PC 上安装来自 Microsoft 的软件。
标签: c# excel database visual-studio user-interface