Tag: c#

如何在EPPlus中对行/列进行分组

有没有一种方法可以在EPPlus中实现这一点? 只有我能在互联网上find的东西是分组具体的数据,例如: AAA —> AAA 5 occurrences AAA BBB 2 occurences BBB BBB AAA AAA AAA 但在截图中不像视觉效果

我怎样才能从Excel中获取单元格地址?

例如,如何从Excel中获取单元格地址给定的行号和列号 第2行和第3列应该返回C2 …请帮助

是否有可能使用Epplus在Excel中复制行(与数据,合并,样式)?

问题是,我需要使用单个模板为整个集合多次从集合中的Excel中插入数据。 using (var pckg = new ExcelPackage(new FileInfo(association.TemplatePath))) { var workSheet = pckg.Workbook.Worksheets[1]; var dataTable = WorksheetToDataTable(workSheet); /*Some stuff*/ FindAndReplaceValue(workSheet, dictionary, row); } private DataTable WorksheetToDataTable(ExcelWorksheet oSheet) { int totalRows = oSheet.Dimension.End.Row; int totalCols = oSheet.Dimension.End.Column; DataTable dt = new DataTable(oSheet.Name); DataRow dr = null; for (int i = 1; i <= totalRows; i++) { […]

在EPPlus中调用LoadFromCollection时忽略属性

我正在尝试使用以下代码生成Excel文件: public static Stream GenerateFileFromClass<T>(IEnumerable<T> collection, int startrow, int startcolumn, byte[]templateResource) { using (Stream template = new MemoryStream(templateResource))//this is an excel file I am using for a base/template { using (var tmpl = new ExcelPackage(template)) { ExcelWorkbook wb = tmpl.Workbook; if (wb != null) { if (wb.Worksheets.Count > 0) { ExcelWorksheet ws = wb.Worksheets.First(); ws.Cells[startrow, […]

从Excel单元格中的超链接文本中提取URL

我在excel中有一个超链接文本,所以基本上是一堆名字,但是当我点击一个时,它会把我带到默认浏览器中的一些URL。 所以我从我的程序中的excel表中提取文本,但是我从这些超链接单元格中提取的值是string里面的值,当我想要将string链接到的URL在excel文件中。 所以我想有两种方法可以做到这一点。 我可以将excel文件中的所有超链接文本转换为相应的URL,或者我可以使用C#以某种方式从单元格中提取URL值,而不是文本。 我不知道如何做这些事情,但任何帮助将不胜感激。 到目前为止的C#代码: Excel.ApplicationClass excelApp = new Excel.ApplicationClass(); //excelApp.Visible = true; Excel.Workbook excelWorkbook = excelApp.Workbooks.Open("C:\\Users\\use\\Desktop\\list.xls", 0, false, 5, "", "",false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false); Excel.Sheets excelSheets = excelWorkbook.Worksheets; string currentSheet = "Sheet1"; Excel.Worksheet xlws = (Excel.Worksheet)excelSheets.get_Item(currentSheet); string myString = ((Excel.Range)xlws.Cells[2, 1]).Value.ToString(); 至于excel文件,它只是超链接的一长串名字。 例如单元格A2将包含文本: 美味的cookies食谱 我想提取string: http://allrecipes.com//Recipes/desserts/cookies/Main.aspx

在ASP.Net中生成CSV文件

我在button单击事件的aspx页面上使用下面的代码生成csv文件。 这个工程,当我没有命名我的文件,但当我尝试使用:Response.AddHeader(“Content-Disposition”,“attachment; filename = myfilename.csv”); 为了将文件命名为myfilename.csv,生成的Excel表格是网页的屏幕截图,而不是其中的文本。 有人可以帮我解决这个问题。 谢谢! DataGrid dg = new DataGrid(); dg.DataSource = GetData(); htmlTextWriter.WriteLine("<b>Details</b>"); //Get the html for the control dg.HeaderStyle.Font.Bold = true; dg.HeaderStyle.BackColor = System.Drawing.Color.Gray; dg.DataBind(); dg.RenderControl(htmlTextWriter); //Write the HTML back to the browser. Response.Clear(); Response.ContentType = "application/vnd.ms-excel"; //Response.AddHeader("Content-Disposition", "attachment;filename=myfilename.csv"); this.EnableViewState = false; Response.Write(textWriter.ToString()); Response.End(); private System.Data.DataTable GetData() { System.Data.DataTable dt […]

用C#打开Excel 2003电子表格。 找不到可安装的ISAM。 例外

我需要从xls中提取数据,我还需要让用户能够更改文件的位置。 所以一个OleDbConnection似乎是一个好的开始,直到第一个合并单元格。 这适用于除合并的单元格之外的所有单元格: OleDbCommand cmd = new OleDbCommand(); cmd.Connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;Extended Properties=Excel 8.0;"); cmd.CommandText = "SELECT * FROM [Sheet$]"; cmd.Connection.Open(); 我发现这应该允许访问合并的单元格: OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=1;"); 但是,我得到一个无法find可安装的ISAM例外cmd.conn.open(); 我遵循这里的build议: http : //support.microsoft.com/kb/209805 在这里: 错误:“找不到可安装的ISAM” 没有运气。 我打开其他方式从xls拉数据。 或者,即使有一个命令,我可以在xls上运行,以删除可能工作的镜像单元格。

如何将一个Excel工作表从一个工作簿复制到另一个?

我有一个需要将工作表从一个工作簿复制到另一个工作表,我有点卡住了。 前提是我有一个“主”工作簿,用于存储多个报表的模板,然后需要创build特定工作表的空白副本并将其添加到新的工作簿中。 这是我迄今为止: private void CreateNewWorkbook(Tables table) { Excel.Application app = null; Excel.Workbook book = null; Excel.Worksheet sheet = null; try { string startPath = System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName); string filePath = System.IO.Path.Combine(startPath, "sal1011forms.xls"); Microsoft.Win32.SaveFileDialog sfd = new Microsoft.Win32.SaveFileDialog(); app = new Excel.Application(); book = app.Workbooks.Open(filePath); sheet = (Excel.Worksheet)book.Worksheets.get_Item((int)table + 1); sfd.AddExtension = true; sfd.FileName = table.ToString() + […]

CSV编码问题(Microsoft Excel)

我使用C#dynamic创buildCSV文件,并遇到一些奇怪的编码问题。 我目前使用ASCII编码,这在Excel 2010中正常工作,我在家里和在工作机器上使用。 但是,客户使用Excel 2007,对于他们来说,有一些奇怪的格式问题,即英镑符号(“英镑符号”)前面带有重音的“A”字符。 我应该使用什么编码? 令人讨厌的是,我几乎无法testing这些修补程序,因为我无法访问Excel 2007!

DevExpress将GridView导出到Excel

我真的需要这个帮助..我找不到任何互联网上的例子我正在使用DevExpress GridView我需要把它发送到Excel,我得到问题,以循环到每个单元格和列,因为DevExpress包含不同的方法,然后的DataGridView 这是我想写的代码..我真的很感谢你的帮助 public class Form1 : System.Windows.Forms.Form { Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); string FirstName = "First Name"; string FatherName = "Father Name"; string LastName = "Last Name"; } public Form1() { ExcelApp.Application.Workbooks.Add(Type.Missing); ExcelApp.Columns.ColumnWidth = 20; // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after […]