お世話になります。
今回下記のURLのEPPlusを用いてCVSからExcelのファイル作成について
サイトのコードを試しているのですが、ファイルが作成もされず
変化もエラーも起こりません。
https://dev.classmethod.jp/articles/genelate-excel-epplus/
C#
1 2using System; 3using System.IO; 4using System.Reflection; 5using System.Linq; 6using OfficeOpenXml; 7 8namespace ExcelGenelator 9{ 10 class MainClass 11 { 12 public static void Main(string[] args) 13 { 14 //args = new String[] { "input.csv", "output.xlsx" }; 15 16 // アプリケーションのフルパス 17 var appPath = Assembly.GetExecutingAssembly().Location; 18 if (args.Length != 2) 19 { 20 Console.WriteLine($"use: mono {Path.GetFileName(appPath)} input.csv output.xlsx"); 21 return; 22 } 23 var appDirectory = Path.GetDirectoryName(appPath); 24 25 // テンプレートExcel 26 var templateExcelName = Path.Combine(appDirectory, "template.xlsx"); 27 if (!File.Exists(templateExcelName)) 28 { 29 Console.WriteLine($"ERROR {templateExcelName} not Found."); 30 return; 31 } 32 33 // 入力CSV 34 var inputCsvName = Path.Combine(appDirectory, args[0]); 35 if (!File.Exists(inputCsvName)) 36 { 37 Console.WriteLine($"ERROR {inputCsvName} not Found."); 38 return; 39 } 40 41 // 出力Excel 42 var outputExcelName = Path.Combine(appDirectory, args[1]); 43 var wb = new ExcelPackage(new FileInfo(templateExcelName)); 44 var sheet = wb.Workbook.Worksheets.First(); 45 var lines = File.ReadAllLines(inputCsvName); 46 foreach (var item in lines.Select((line, row) => new { line, row })) 47 { 48 var values = item.line.Split(','); 49 foreach (int i in Enumerable.Range(0, 3)) 50 { 51 // データを差し込むのは7行目のカラム3個目以降(セル番号は、0からではなく1から指定) 52 var cell = sheet.Cells[item.row + 8, i + 4]; 53 if (i == 0) // 品名は、文字として挿入 54 { 55 cell.Value = values[i]; 56 } 57 else 58 { // 数量・単価は、数値として挿入 59 cell.Value = Int32.Parse(values[i]); 60 } 61 } 62 //数式の再計算は必要ありません。 63 wb.SaveAs(new FileInfo(outputExcelName)); 64 } 65 } 66 } 67}
こちらのコードですが、一応現段階としてはEPPlusを用いてExcelファイルにhelloworldと出力が出来ているのでEPPlusは機能していると思われ、推測ですがCSVファイルと取り込むExcelファイルのパス?に原因があるのではないかと考えて試していますが変化が起こらずエラーも出ません。
実行方法は.csファイルをCtrl+F5を押しております。
開発環境はコンソールアプリ(.Net framework)です。
またOSはWindowsです。
C#のファイルの場所が
D:\projectc#\CsvExcel
CSVとExcelのおいてある場所が
D:\document
となっております。
ご教授よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー