mirror of
https://github.com/kwsch/PKHeX
synced 2024-09-22 07:12:00 +00:00
Add Export to CSV
This commit is contained in:
parent
8b0b12a63b
commit
f8cd5c5c7c
2 changed files with 32 additions and 3 deletions
5
SAV/frmReport.Designer.cs
generated
5
SAV/frmReport.Designer.cs
generated
|
@ -46,19 +46,20 @@
|
|||
this.dgData.Location = new System.Drawing.Point(0, 0);
|
||||
this.dgData.Name = "dgData";
|
||||
this.dgData.RowHeadersVisible = false;
|
||||
this.dgData.Size = new System.Drawing.Size(790, 461);
|
||||
this.dgData.Size = new System.Drawing.Size(812, 461);
|
||||
this.dgData.TabIndex = 0;
|
||||
//
|
||||
// frmReport
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(790, 461);
|
||||
this.ClientSize = new System.Drawing.Size(812, 461);
|
||||
this.Controls.Add(this.dgData);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "frmReport";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Box Data Report";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.promptSaveCSV);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgData)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ using System.Windows.Forms;
|
|||
using System.Security.Cryptography;
|
||||
using System.Reflection;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace PKHeX
|
||||
{
|
||||
public partial class frmReport : Form
|
||||
|
@ -46,11 +47,38 @@ namespace PKHeX
|
|||
dgData.AutoGenerateColumns = true;
|
||||
for (int i = 0; i < dgData.Columns.Count; i++)
|
||||
{
|
||||
if (dgData.Columns[i].Name == "pkimg") continue; // Don't add sorting for Sprites
|
||||
if (dgData.Columns[i] is DataGridViewImageColumn) continue; // Don't add sorting for Sprites
|
||||
dgData.Columns[i].SortMode = DataGridViewColumnSortMode.Automatic;
|
||||
}
|
||||
}
|
||||
private void promptSaveCSV(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (Util.Prompt(MessageBoxButtons.YesNo,"Save all the data to CSV?") == DialogResult.Yes)
|
||||
{
|
||||
SaveFileDialog savecsv = new SaveFileDialog();
|
||||
savecsv.Filter = "Spreadsheet|*.csv";
|
||||
savecsv.FileName = "Box Data Dump.csv";
|
||||
if (savecsv.ShowDialog() == DialogResult.OK)
|
||||
Export_CSV(savecsv.FileName);
|
||||
}
|
||||
}
|
||||
private void Export_CSV(string path)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
||||
var headers = dgData.Columns.Cast<DataGridViewColumn>();
|
||||
sb.AppendLine(string.Join(",", headers.Select(column => "\"" + column.HeaderText + "\"").ToArray()));
|
||||
|
||||
foreach (DataGridViewRow row in dgData.Rows)
|
||||
{
|
||||
var cells = row.Cells.Cast<DataGridViewCell>();
|
||||
sb.AppendLine(string.Join(",", cells.Select(cell => "\"" + cell.Value + "\"").ToArray()));
|
||||
}
|
||||
System.IO.File.WriteAllText(path, sb.ToString(), Encoding.UTF8);
|
||||
}
|
||||
|
||||
public class PokemonList : SortableBindingList<PKX> { }
|
||||
|
||||
}
|
||||
public static class ExtensionMethods // Speed up scrolling
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue