49. Open XML sample code
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
public async Task<IActionResult>
UploadSingle(IFormFile file){
//file save
// lastFile = getFile()
}
50. Open XML sample code
using (SpreadsheetDocument document = SpreadsheetDocument.Open(lastFile.FullName, false))
{
var wbPart = document.WorkbookPart;
var stringTable = wbPart.GetPartsOfType<SharedStringTablePart>().FirstOrDefault();
foreach (var sheet in wbPart.Workbook.Descendants<Sheet>())
{
…
51. Open XML sample code
var wsheetPart = wbPart.GetPartById(sheet.Id) as WorksheetPart;
if (wsheetPart != null)
{
if (sheet.Name == "○○一覧")
{
var ws = wsheetPart.Worksheet;
foreach (var row in ws.Descendants<Row>())
{
…
52. Open XML sample code
if (row.RowIndex == 1)//表タイトル
{
foreach (Cell cell in row)
{
//タイトル取得など
}
}
else
{
//表本体の処理
53. Open XML sample code
foreach (Cell cell in row)
{
var value = cell.InnerText;
//表本体の処理
}
ここまで作ってしまえば、Teamsで結果を確認しながらフローを拡張していくことができます。
たとえば、結果画面のApply to eachをクリックし、条件をクリックするとどのような処理結果だったかがわかります。この場合、Excelからは11行分のデータが流れてきて1件目が0円以上だったことがわかります。次へをクリックすると【クリック】