c# - 如何将进度条和状态添加到没有像复制文件那样计数的进程?
问题描述
所以我发布了一个关于让我的示例项目工作的问题,它现在可以工作了。示例项目 这很好,因为在那个例子中,我有一个需要复制文件的生产项目,所以这对那个项目很有用。
但是这个问题是关于向我不清楚如何实施的过程显示进度条。
我使用 closedxml 读取一个 excel 文件,我将该文件读入数据表以执行一些过滤和其他操作,以便在我的表单上填充一些列表框,如何针对创建 5 来实现我在另一篇文章中的示例代码还是6个数据表?
我可以提供一些数据表创建方法,但是现在所有代码接近 600 行,还没有完成。所以下面是我正在使用的当前代码的精简示例。
private void sample()
{
string plink = @"C:\Test\Sizes.xlsx";
string[] DistinctDept = { "Dept Code", "Dept Description" };
DataTable ListDept = GetDistinctRecords(LoadExceltoDatatable(plink), DistinctDept);
ListDept.Columns.Add(new DataColumn("DeptCombo", typeof(string), "'('+[Dept Code] +') ' + [Dept Description]"));
if (string.IsNullOrEmpty(ListDept.Rows[0]["Dept Code"].ToString()))
{
ListDept.Rows[0].Delete();
ListDept.AcceptChanges();
}
lbDept.DataSource = ListDept;
lbDept.DisplayMember = "DeptCombo";
lbDept.ClearSelected();
}
public static DataTable GetDistinctRecords(DataTable dt, string[] Columns)
{
DataTable dtUniqRecords = new DataTable();
dtUniqRecords = dt.DefaultView.ToTable(true, Columns);
return dtUniqRecords;
}
public static DataTable LoadExceltoDatatable(string sizeoptcalc)
{
using (var wb = new XLWorkbook(sizeoptcalc, XLEventTracking.Disabled))
{
var ws = wb.Worksheet(1);
var foundMonth = ws.Search("Month", System.Globalization.CompareOptions.OrdinalIgnoreCase);
var monthRow = foundMonth.Last().Address; // A11
var lastcell = ws.LastCellUsed().Address; // BC3950
DataTable dataTable = ws.Range(monthRow, lastcell).RangeUsed().AsTable().AsNativeDataTable();
return dataTable;
}
}
这可以更改以报告进度吗?我的意思是在某些情况下,excel 文件很大,并且确实需要一些时间来填写我的列表框。
这里有更多的数据表创作,我想说明它们的整体进展
解决方案
推荐阅读
- python-3.x - 检索源页面后,Scrapy Crawler 多个域完成且没有错误
- amazon-web-services - AWS 上的 kubernetes 在 pod 中获取区域名称
- css - CSS 表单对齐按钮和复选框
- reactjs - 如何在 react-boilerplate 中添加 jsx 文件?
- ruby-on-rails - 在 Rails 显示页面中下载 PDF,每次显示不同的 PDF
- sql - SELECT 语句涉及三个不同的表
- javascript - React+Jest - 测试异步组件并等待挂载
- typescript - 将 url 编码的内容解析为 JSON
- c# - 使用 autofac 注册泛型类型
- c++ - Qt名称文件图片