0
すべての書式設定されたテキストをExcelスプレッドシートから取得する必要があります。ExcelからDocumentTextを取得
私はこれをより良い解決策にする必要があります。これは私の目標を達成しますが、まったくスケールしません!
StringBuilder strData = new StringBuilder();
var worksheets = ReferenceDocument.Worksheets;
foreach (Excel._Worksheet worksheet in worksheets)
{
foreach (var cell in worksheet.UsedRange.Cast<Excel.Range>())
{
object value = cell.Text;
string strValue = value == null ? null : value.ToString();
if (!String.IsNullOrWhiteSpace(strValue)) strData.AppendLine(strValue);
}
}
編集:私は、文字列の配列を取得するためにworksheet.UsedRange.Textを呼び出して試してみたが、残念ながらそれはSystem.DbNullではなく配列を返します。
2つのプロセス(C#とExcel)間の個々の呼び出しの数を減らす必要があります。おそらくこれを達成する最良の方法は、 'UsedRange'を配列に読み込んで、その配列を.NETで処理することです。http://stackoverflow.com/questions/910400/reading-from-excel-range-into-multidimensional -array-c-sharp –
残念ながらrange.Textを呼び出すと、System.DbNull – tdemay