以所有单元格的格式将dataGridView导出到Excel。
我有这个代码,我知道它可以快速起作用 CopyAlltoClipboard(dataGridViewControl); Microsoft.Office.Interop.Excel.Application xlexcel; Microsoft.Office.Interop.Excel.Workbook xlWorkBook; Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlexcel = new Excel.Application(); xlexcel.Visible = true; xlWorkBook = xlexcel.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); xlWorkS
2 2024-01-02
编程技术问答社区
改变DataGridView数字列中的数字组分隔符
我想以这种方式格式化数字1 231 241.45.我尝试了N2格式选项: datagridview1.Columns["col1"].DefaultCellStyle.Format = "N2"; 但N2格式将逗号而不是空间放置.我希望空间作为数字组分离器. 是否可以更改数字组分隔符? 解决方案 要在DataGridView中更改数字组分离器,您可以创建一个特定的文化,然后将其NumberFormat.NumberGroupSeparator设置为新值,然后将DataGridView的DefaultCellStyle.FormatProvider设置为修改文化: var culture = CultureInfo.CreateSpecificCulture("en-GB"); culture.NumberFormat.NumberGroupSeparator = " "; dataGridView1.DefaultCellStyle.FormatProvider =
2 2023-12-10
编程技术问答社区
有没有一种方法可以强制DataGridView为所有单元格触发其CellFormatting事件?
我们在应用程序上使用细胞形成事件将各种网格的彩色代码单元格上颜色. 我们有一些通用代码,可以处理Excel(和打印)的导出,但它以黑色和白色进行.现在,我们想更改它并从网格中拾取颜色. 此问答有帮助(并且有效)...超越单个屏幕. (逻辑上)尚未在屏幕上显示的网格部分从未触发其细胞形成代码,因此它们的基础颜色永远不会设置.结果,在excel中,颜色编码 fizzles 在页面下方. 似乎有三个解决方案: 1)告诉用户他必须滚动到网格的所有部分,然后再进行Excel出口. ha!不是严重的解决方案 2)在向Excel导出之前,以编程方式滚动到网格的所有部分. 只不及(1) 恐怖的恐怖. 3)在我们向Excel代码的导出中,向顶部发射某些东西,该内容告诉DataGridView绘画/格式化其整个区域,例如. MyDataGridView.FormatAllCells() 是否有这样的事情? 哦,还有第四个选项,但这将涉及触摸大量现有代码:
2 2023-12-09
编程技术问答社区
cell.detailtextlabel.text为null
我不明白为什么我的cell.detailTextLabel.text为null. static NSString *CellIdentifier = @"Cell"; //UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyId]; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { /*[[NSBundle mainBundle] loadNibNamed:@"CellTest2" owner:self options:nil]; cell = mealPlanCell;*/ cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSu
6 2023-11-05
编程技术问答社区
Excel中的时间跨度格式化
我目前正在使用自定义格式, m:ss.00 ,它适用于超过一分钟的任何时间,例如 1:02.47 .但是,如果我输入不到一分钟的时间,例如 57.66 ,它被转换为 50:24.00 .我可以通过输入 0:57.66 来解决这个问题,但是我宁愿不必始终键入领先 0:,我不希望领先的 0:无论如何都显示.我想知道,如果我跳过数字,然后是结肠部分,将其解释为没有分钟,而只是显示 57.66 . . 解决方案 在Excel DateTimes中: 1 = 1 day ...因此: 1 / 24 = 1 hour = 0.04166667 formatted as m:ss.00 is 0:00.00 1 / 24 / 60 = 1 minute = 0.00069444 formatted as m:ss.00 is 1:00.00 1 / 24 / 60 / 60 = 1 second = 0.0
40 2023-10-22
编程技术问答社区
根据另一个Datagridview中的单元格的值改变Datagridview中的行的颜色
我正在使用C#Winform SQL Server 在我的数据库中,我尝试在小公司中管理员工假期,因此我被创建了两个表 第一个名为tblMember 的表 idMember(pk,int,不是null) memberName(varchar(50),null) 该表与 的一项关系有关 第二个名为tblVacations 的表 idVacation(pk,int,不是null) vacationStart(日期,null) vacationEnd(日期,null) idMember_L(fk,int,null) 然后,我用两个datagridview创建了一个form dg_member填充其数据(来自tblmember的名称)扔了一个存储过程 第二个datagridview dgVacation填充相关数据 现在,我想在今天缺席的dg_member中用红色颜色(今天介于vacationStart和vacationEn
68 2023-02-21
编程技术问答社区
当DataGridView被绑定时,DefaultCellStyle格式不被应用
我有一个代码,可以通过绑定来源绑定DataGridView至DataTable: _bind.DataSource = Table; lGrid.DataSource = _bind; 在databindingcomplete事件中,我为某些列设置了默认电池: void lGrid_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { if (e.ListChangedType == ListChangedType.Reset) lGrid.Columns[0].DefaultCellStyle.Format = "+#,##0;-#,##0;0"; } 此时表仍然为空.因此,稍后,当行添加到表中并很好地反映DataGridView,由于某种原因,该格式不应用于列0. 的单元格. 我检查了单元格式事件中的格式: private void
20 2023-02-20
编程技术问答社区
从Excel单元格中获取时间值
我正在编写一个Excel应用程序,该应用程序将从Excel文件中读取并编写指定的值,并将其显示给用户.但是,当我尝试从具有Number Format或函数键入'hh:min' (Hour:Min)的单元格中读取时,我无法获得该值. 这是我的代码... ws[dateTimePicker1.Value.Day + 1].get_Range("F" + i.ToString(), Type.Missing); if (range.Value2 != null) val += " - " + range.Value2.ToString(); //Sets FXX to val lbHK1.Items.Add(val); 其中... ws =我的工作表 dateTimePicker1 =我的日期选择器,这可以帮助我确定将打开哪个文件 i =是一个整数,可以帮助我确定该单元的行号 range =是从microsoft.office
22 2023-02-10
编程技术问答社区
数据表格 defaultcellstyle.format numeric WinForms
我想以这种方式格式化数字单元格“1 231 241.45".N2 格式选项正在格式化单元格,但它使用逗号而不是空格.我想要那里的空间.有可能的? 解决方案 我设法使它与以下代码一起工作: string NRFormat="### ### ##0.00" datagridview1.Columns["col1"].DefaultCellStyle.Format = NRFormat; datagridview1.Columns["col2"].DefaultCellStyle.Format = NRFormat; 它不是很优雅,但它正在工作.
1328 2022-07-19
编程技术问答社区