ExcelシートからSQLスクリプトを生成したいので、すべてのセルのタイプを知る必要があります。キャストExcelセル
従って私はテキストボックス
C#コードでその後の結果と次のコードのセルから型を取得しようとした: 各セルについての結果:
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using System.Windows.Forms;
namespace Export
{
internal class ExcelWorker
{
Excel.Application _xlApp = new Excel.Application();
Excel.Workbook _xlWorkBook;
Excel.Range _range;
object misValue = System.Reflection.Missing.Value;
private void Show(string value) => MessageBox.Show(value);
internal void ReadExcelFile(string path, string cell)
{
try
{
_xlWorkBook = OpenBook(_xlApp, path, false, true, false);
Excel.Worksheet sheet = _xlWorkBook.Sheets["Sheet1"] as Excel.Worksheet;
Show(string.Format("Cell {0} \n\n Cell Number Format {1}", cell, sheet.get_Range(cell).NumberFormat));
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
private static Excel.Workbook OpenBook(Excel.Application excelInstance, string fileName, bool readOnly, bool editable,
bool updateLinks)
{
Excel.Workbook book = excelInstance.Workbooks.Open(
fileName, updateLinks, readOnly,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, editable, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
return book;
}
}
}
シートをエクセル:
thaの場合は、今私はわからないんだけどtは正しいセル型の値を正確なSQL型にキャストする "正しい"型を取得するか、わからないより良い解決策があるかどうかだけです。
各セルの種類を取得するためのより良い方法はありますか私は、各可能なセルの書式をこのような列挙型か何かを作成し、マッピングする必要がありますか?
実際には、数値書式はセルの種類ではありません。何をしたいですか? Excelシートのデータベースに書き込むだけですか? –
さて、これらの値をSqlTypesに_cast_することはできませんが、SqlTypeを_infer_することができます。 – stuartd
@MarcelTheis:多分セルA2は、私はすでに同じ形式であるSQLテーブルにcolumに存在し、ときに右 –