Tag: winforms

从excel文件读取指数值会导致数据丢失

我正在阅读使用OLEDB连接string的xls文件 mCon.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;data source=" + mstrFilePath + ";Extended Properties=\"Excel 12.0 Xml;HDR=NO;IMEX=1\""); 我故意设置IMEX = 1 ,以便我可以读取所有值为文本,因为我的xls表包含混合数据types。 现在在xls表格中有包含指数值的列,例如4.0416E+14 ,其内部值为404160301389870 。 现在的问题是,当我读取xls时,它会读取指数值而不是内部值,从而导致数据丢失。 我怎么解决这个问题。 请build议!

Datagridview导出到Excel无法正常工作

我想问一下,我的出口到Excel代码不工作。 我在我的toolstripmenu点击这个代码。 private void excelFileToolStripMenuItem_Click(object sender, EventArgs e) { string[] arrays = new string[this.dgvResult.Columns.Count]; int icol = 0; foreach (DataGridViewColumn gridColum in this.dgvResult.Columns) { //for (irow = 0; irow <= this.dgvResult.Columns.Count – 1; irow++) //{ arrays[icol] = this.dgvResult.Columns[icol].Name; icol++; // } } SystemUtil.ExportToExel_DG(dgvResult, arrays, "", ""); } 我有这个代码在这个类来导出我的datagridview项目到Excel中 public void ExportToExel_DG(DataGridView dg, string[] arrays,string sTitle,string […]

使用Winforms的电子表格项目,无法复制文件错误

我正在为一个软件工程类开发一个简单的Excel项目。 这是我第一次写一个DLL,并使用INotifyPropertyChanged。 我收到这些错误: 错误13无法将“SpreadsheetEngine \ bin \ Debug \ SpreadsheetEngine.dll”复制到“bin \ Debug \ SpreadsheetEngine.dll”。 超过了10.失败的重试次数。“ 错误14无法将文件“SpreadsheetEngine \ bin \ Debug \ SpreadsheetEngine.dll”复制到“bin \ Debug \ SpreadsheetEngine.dll”。 该进程无法访问文件'bin \ Debug \ SpreadsheetEngine.dll',因为它正在被另一个进程使用。“ 这些错误真的让我回头,我很感激任何帮助找出他们。 这是我的DLL类: namespace SpreadsheetEngine { public abstract class Cell : INotifyPropertyChanged { private int RowIndex; private int ColumnIndex; protected string Text; protected string Value; […]

SDI:使模态表单应用最上层

在我用C#编写的VSTO外接程序中,我用form.ShowDialog();显示了一个模态窗体form.ShowDialog(); 。 此模式窗体的所有者是(在Excel 2013中)当前活动的工作簿窗口。 现在的问题:1)用Ctrl + N打开第二个工作簿2)显示模式窗体3)现在你可以通过使用Windows任务栏更改活动工作表 ! 结果:您无法在此工作簿窗口中执行任何操作。 问题:如何才能实现像标准MessageBox一样的行为? 我不会让我激活另一个窗口比它的父窗口。 PS:当然,我不想设置form.TopMost = true; 因为它不应该在其他应用程序之前。

CustomTaskPane设置为最大尺寸

我想在Excel中以最大尺寸打开Winform的CustomTaskPane。 如何最大化客户任务平台? 假设TaskPane停靠在Excel屏幕的左侧。 根据MDSN The maximum width is **approximately** half the width of the screen

如何从datagridview中获得excel列名

您好家伙我有一个表格应用程序重命名文件,从Excel中获取数据,我想获得excel列名与datagridview我该怎么办? 编辑:评论的Excel图像 path = dataGridView1.Rows[i].Cells["K1"].Value.ToString(); path2 = dataGridView1.Rows[i].Cells["K2"].Value.ToString(); 那些K1和K2是其中一个excel列名称的名称,但我希望它可以在所有excel列上工作。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.OleDb; using System.IO; namespace WindowsFormsApplication7 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { OleDbConnection baglan […]

如何移动Datagridview中的Excel值?

首先,我将解释我正在尝试做什么。 以前我做了一个macros,将J列中的值移动到H列。 正如你所看到的,这些值是移动的,所以它们可以匹配G列中的相同值。 这是我用来得到这个macros: With Worksheets("Sheet1") For rwg = 2 To .Cells(Rows.Count, "G").End(xlUp).Row If CBool(Application.CountIf(.Columns("J"), .Cells(rwg, "G").Value2)) Then rwj = Application.Match(.Cells(rwg, "G").Value2, .Columns("J"), 0) .Cells(rwg, "H") = .Cells(rwj, "J").Value2 .Cells(rwj, "J").ClearContents End If Next rwg End With 现在我想通过点击这个Winform中的匹配button来完成这个工作: 可能吗? 我将数据存储在数据表中: string PathConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + textBox_Path.Text + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";"; OleDbConnection conn = new […]

如何将报告从Microsoft.Reporting.WinForms.ReportViewer v11导出到.xls文件

请告诉我,如何从ReportViewer(v.11)将报告(rdlc)导出到.xls文件? 此版本的查看器可以通过单击导出 – > Excelbutton导出到.xlsx文件。 在这种情况下,SaveFileDialog将被打开,我只能selectxlsx格式。 但我也需要以.xls格式保存报告。 对不起,我的英语 – 我刚开始学习它。 谢谢!

将DataGridVeiw导出为使用单元格背景颜色的C#优秀

我已经在Winform C#中的DataGridView中做了一个轮class名单 。 这是我从DataGridView导出的excel表格截图。 我需要导出DataGridView,因为它是保持字体颜色和背景颜色的Excel工作表,我也不想导出第一列DataGridView到不可见的Excel。 我已经使用下面的代码将DataGridView导出到Excel。 using (ExcelPackage pck = new ExcelPackage(file)) { // Add a new worksheet to the empty workbook ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Sheet1"); // Load data from DataTable to the worksheet ws.Cells["A1"].LoadFromDataTable(((DataTable)gvShift.DataSource), true); ws.Cells.AutoFitColumns(); // Add some styling using (ExcelRange rng = ws.Cells[1, 1, 1, gvShift.Columns.Count]) { rng.Style.Font.Bold = true; rng.Style.Fill.PatternType = […]

在Excel中连续地将数据保存到列中

我在保存标签中的数据时遇到了麻烦。 当我保存时,它总是覆盖。 将数据保存到列B是可以的,但是当它转到列C时,它会覆盖它。 B列中的数据将被删除。 只有C列被保存。 private void button1_Click(object sender, EventArgs e) { Microsoft.Office.Interop.Excel.Application OfficeExcel; Microsoft.Office.Interop.Excel._Workbook OfficeWorkBook; Microsoft.Office.Interop.Excel._Worksheet OfficeSheet; try { //Start Excel and get Application object. OfficeExcel = new Microsoft.Office.Interop.Excel.Application(); OfficeExcel.Visible = true; //Get a new workbook. OfficeWorkBook = (Microsoft.Office.Interop.Excel._Workbook)(OfficeExcel.Workbooks.Add("")); OfficeSheet = (Microsoft.Office.Interop.Excel._Worksheet)OfficeWorkBook.ActiveSheet; int apple = 10, banana = 11, grapes = 12, orange = […]