C#Halcon联合编程环境配置

 打开Halcon,将编辑好的代码按导出为cs文件。

打开Visual Studio,创建一个Windows窗体应用:

 创建好窗体后找到解决方案资源管理器,右键 引用-添加引用:

在弹出的引用管理器中选择浏览:

 找到Halcon的安装目录,依次点击Bin - dotnet35,选中 halcondotnet.dll后点击添加:

 回到引用资源管理器,选中halcondotnet.dll,点击确定:

 回到VS,在工具箱的任意位置右键,点击选择项:

在弹出的选择工具箱项中点击浏览:

 

再次找到halcondotnet.dll,选中并打开:

 回到选择工具箱项,选中HSmartWindowControl与HWindowControl,点击确定:

 

 之后的VS工具箱中会出现HSmartWindowControl与HWindowControl两个控件:

 双击Form1窗体的任意位置转到代码:

 双击Halcon导出的cs文件,复制using HalconDotNet;到vs中,

声明HalconDotNet:

using HalconDotNet;

在VS中依次点击项目-项目属性:

在出现的页面点击生成,取消勾选 首选32位:

 至此环境配置基本完成。

关于以下异常:

1、缺少halcon.dll:将C:\Haclon\MVTec\HALCON-21.11-Progress\bin\x64-win64\halcon.dll放到C#生成的exe文件同级目录中。

halcon.dll文件所在路径:

复制至C#生成项目文件-bin-Debug目录下,如图:

 2、缺少许可文件:将许可文件放置于生成的项目exe程序的同级文件下,同上,如下图:

 license文件所在路径:halocn安装的文件夹下。

 

 

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在C#中导出DataGridView的数据,可以使用以下方法之一: 方法一:利用微软的Excel操作类 首先,需要引用Microsoft.Office.Interop.Excel命名空间。然后,在按钮的点击事件中,判断DataGridView中是否有数据,如果有数据则调用ExportDataToExcel方法导出数据。 ```csharp using Excel = Microsoft.Office.Interop.Excel; private void buttonX26_Click(object sender, EventArgs e) { if (dataGridViewX8.Rows.Count == 0) { MessageBox.Show("当前无数据可导出!"); } else { ExportDataToExcel(dataGridViewX8); } } private void ExportDataToExcel(DataGridView dataGridView) { Excel.Application excelApp = new Excel.Application(); Excel.Workbook workbook = excelApp.Workbooks.Add(); Excel.Worksheet worksheet = workbook.ActiveSheet; // 将DataGridView中的数据写入Excel表格 for (int i = 0; i < dataGridView.Rows.Count; i++) { for (int j = 0; j < dataGridView.Columns.Count; j++) { worksheet.Cells\[i + 1, j + 1\] = dataGridView.Rows\[i\].Cells\[j\].Value.ToString(); } } // 保存Excel文件 workbook.SaveAs("导出数据.xlsx"); workbook.Close(); excelApp.Quit(); MessageBox.Show("数据导出成功!"); } ``` 方法二:利用OleDb和Excel操作类 首先,需要引用System.Data.OleDb和Microsoft.Office.Interop.Excel命名空间。然后,可以使用OleDbConnection建立与本地数据库的连接。在按钮的点击事件中,调用ExportDataToExcel方法导出数据。 ```csharp using System.Data.OleDb; using Microsoft.Office.Interop.Excel; using Excel = Microsoft.Office.Interop.Excel; using System.Data; private void buttonX26_Click(object sender, EventArgs e) { if (dataGridViewX8.Rows.Count == 0) { MessageBox.Show("当前无数据可导出!"); } else { ExportDataToExcel(dataGridViewX8); } } private void ExportDataToExcel(DataGridView dataGridView) { OleDbConnection connection = Getconnection(); connection.Open(); // 查询DataGridView中的数据 string query = "SELECT * FROM YourTableName"; OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connection); DataTable dataTable = new DataTable(); dataAdapter.Fill(dataTable); // 创建Excel应用程序 Excel.Application excelApp = new Excel.Application(); Excel.Workbook workbook = excelApp.Workbooks.Add(); Excel.Worksheet worksheet = workbook.ActiveSheet; // 将DataTable中的数据写入Excel表格 for (int i = 0; i < dataTable.Rows.Count; i++) { for (int j = 0; j < dataTable.Columns.Count; j++) { worksheet.Cells\[i + 1, j + 1\] = dataTable.Rows\[i\]\[j\].ToString(); } } // 保存Excel文件 workbook.SaveAs("导出数据.xlsx"); workbook.Close(); excelApp.Quit(); connection.Close(); MessageBox.Show("数据导出成功!"); } private OleDbConnection Getconnection() { string path_startup = System.Windows.Forms.Application.StartupPath; string Constr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path_startup + @"\Data\测试.accdb"; OleDbConnection myCon = new OleDbConnection(Constr); return myCon; } ``` 以上是两种常用的方法来导出DataGridView的数据到Excel表格。你可以根据自己的需求选择其中一种方法来实现。 #### 引用[.reference_title] - *1* [C# winform 直接导出DataGridView数据到Excel表格的两种方法](https://blog.csdn.net/wwq0813/article/details/93294416)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [C#中导出datagridview并保存本地](https://blog.csdn.net/u010719791/article/details/119920425)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值