0
私はC#とWindowsフォームを学び始めています。 resx(XML)ファイルをExcelに変換するアプリケーションを作成します。Epplusエクセル&レックスファイルへのスペースを取り除く方法
すべてのコードが機能し、Excelファイルが作成され、resxファイルに変換できます。
私のExcelファイルを開くと、データの前後に空白が追加されました(Excel cell example)。そして、私はそれがファイルをRESXに変換するとき、それはここで Resx file example
をして、私のRESX =>がコードを優れている:あなたはすべての私のコードをしたい
//I use a application WindowsForm so any 'LBL'/'TXT make reference to label or textBox I use them to set file or folder path
private void writeExcel()
{
Dictionary<string, string> dataSave = new Dictionary<string, string>();
var path = LBL_DocumentPath.Text;
XDocument doc = XDocument.Load(path);
IEnumerable<XNode> nodes = doc.Descendants("data");
foreach (XElement node in nodes)
{
string name = node.Attribute("name").Value;
string value = node.Value;
dataSave.Add(name, value);
}
CreateExcel(dataSave);
}
private void CreateExcel(Dictionary<string, string> dico)
{
int i = 1;
FileInfo newFile = new FileInfo(LBL_FolderPath.Text + "/" + TXT_FileName.Text + ".xlsx");
using (ExcelPackage package = new ExcelPackage(newFile))
{
try
{
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Inventry");
worksheet.Cells[1, 1].Value = "Name";
worksheet.Cells[1, 2].Value = "value";
worksheet.Cells[1, 3].Value = "translation";
foreach (KeyValuePair<string, string> data in dico)
{
string testMessage = String.Format("{0}", data.Value);
string delSpace = testMessage;
Regex regex = new Regex(@"(\s){2,}");
testMessage = regex.Replace(delSpace, "&");
i++;
worksheet.Cells[i, 1].Value = String.Format("{0}", data.Key);
worksheet.Cells[i, 2].Value = String.Format("{0}", testMessage);
worksheet.Cells.AutoFitColumns();
}
package.Save();
MessageBox.Show("File created ! " + LBL_FolderPath.Text + "\\" + TXT_FileName.Text);
}
catch (Exception)
{
MessageBox.Show("File already exist, checks : " + LBL_DocumentPath.Text + "\\" + TXT_FileName.Text);
}
}
}
場合、私はあなたのDropboxのリンクを与えることができます。
ご協力いただきありがとうございます。
数学。
Ps:私の謝罪、私の英語はあまり良くありません。あなたが私を正しく理解することを願っています。
によって
に取って代わるように動作しません、私の正規表現です。グレメールエラーを目立たせることなく、簡単に理解できます。私がここに見る英語の上のWaaay(私を含む) –