作成日: 2018/11/13 最終更新日: 2018/11/13
文書種別
使用方法
詳細
SaveTextFileメソッドは、SPREADに設定されているすべてのデータをファイルに保存するように設計されているため、非表示の列や行を除外する機能は備えられておりません。
非表示の列を除外してCSVファイルに保存するには、独自の実装が必要になります。
簡単な例を以下に紹介いたします。
◎サンプルコード(VB)
◎サンプルコード(C#)
非表示の列を除外してCSVファイルに保存するには、独自の実装が必要になります。
簡単な例を以下に紹介いたします。
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの設定
FpSpread1.ActiveSheet.ColumnCount = 5
FpSpread1.ActiveSheet.RowCount = 10
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j))
Next
Next
' 列の非表示
FpSpread1.ActiveSheet.SetColumnVisible(1, False)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' 独自のファイル保存
Using sw As System.IO.StreamWriter = System.IO.File.CreateText("..¥..¥test.csv")
Dim data As New System.Text.StringBuilder()
Dim maxCol As Integer = FpSpread1.ActiveSheet.GetLastNonEmptyColumn(FarPoint.Win.Spread.NonEmptyItemFlag.Data)
Dim maxRow As Integer = FpSpread1.ActiveSheet.GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data)
' データの取得
For i As Integer = 0 To maxRow
Dim line As String = String.Empty
For j As Integer = 0 To maxCol
If FpSpread1.ActiveSheet.GetColumnVisible(j) Then
Dim value As Object = FpSpread1.ActiveSheet.GetValue(i, j)
If TypeOf value Is String Then
line += """" + FpSpread1.ActiveSheet.GetText(i, j) + ""","
Else
line += FpSpread1.ActiveSheet.GetText(i, j) + ","
End If
End If
Next
data.Append(line.Remove(line.Length - 1, 1) + vbCrLf)
Next
' ファイルの保存と終了処理
sw.Write(data.ToString())
sw.Flush()
sw.Close()
End Using
End Sub
' データの設定
FpSpread1.ActiveSheet.ColumnCount = 5
FpSpread1.ActiveSheet.RowCount = 10
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j))
Next
Next
' 列の非表示
FpSpread1.ActiveSheet.SetColumnVisible(1, False)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' 独自のファイル保存
Using sw As System.IO.StreamWriter = System.IO.File.CreateText("..¥..¥test.csv")
Dim data As New System.Text.StringBuilder()
Dim maxCol As Integer = FpSpread1.ActiveSheet.GetLastNonEmptyColumn(FarPoint.Win.Spread.NonEmptyItemFlag.Data)
Dim maxRow As Integer = FpSpread1.ActiveSheet.GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data)
' データの取得
For i As Integer = 0 To maxRow
Dim line As String = String.Empty
For j As Integer = 0 To maxCol
If FpSpread1.ActiveSheet.GetColumnVisible(j) Then
Dim value As Object = FpSpread1.ActiveSheet.GetValue(i, j)
If TypeOf value Is String Then
line += """" + FpSpread1.ActiveSheet.GetText(i, j) + ""","
Else
line += FpSpread1.ActiveSheet.GetText(i, j) + ","
End If
End If
Next
data.Append(line.Remove(line.Length - 1, 1) + vbCrLf)
Next
' ファイルの保存と終了処理
sw.Write(data.ToString())
sw.Flush()
sw.Close()
End Using
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
// データの設定
fpSpread1.ActiveSheet.ColumnCount = 5;
fpSpread1.ActiveSheet.RowCount = 10;
for(int i = 0; i < fpSpread1.ActiveSheet.RowCount; i++)
{
for (int j = 0; j < fpSpread1.ActiveSheet.ColumnCount; j++)
{
fpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j));
}
}
// 列の非表示
fpSpread1.ActiveSheet.SetColumnVisible(1, false);
}
private void button1_Click(object sender, EventArgs e)
{
// 独自のファイル保存
using(System.IO.StreamWriter sw = System.IO.File.CreateText("..¥¥..¥¥test.csv"))
{
System.Text.StringBuilder data = new System.Text.StringBuilder();
int maxCol = fpSpread1.ActiveSheet.GetLastNonEmptyColumn(FarPoint.Win.Spread.NonEmptyItemFlag.Data);
int maxRow = fpSpread1.ActiveSheet.GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data);
for (int i = 0; i <= maxRow; i++)
{
string line = string.Empty;
for(int j = 0; j <= maxCol; j++)
{
if (fpSpread1.ActiveSheet.GetColumnVisible(j))
{
object value = fpSpread1.ActiveSheet.GetValue(i, j);
if (value is string)
{
line += "¥"" + fpSpread1.ActiveSheet.GetText(i, j) + "¥""+",";
}
else
{
line += fpSpread1.ActiveSheet.GetText(i, j) + ",";
}
}
}
data.Append(line.Remove(line.Length - 1, 1) + "¥r¥n");
}
// ファイルの保存と終了処理
sw.Write(data.ToString());
sw.Flush();
sw.Close();
}
}
{
// データの設定
fpSpread1.ActiveSheet.ColumnCount = 5;
fpSpread1.ActiveSheet.RowCount = 10;
for(int i = 0; i < fpSpread1.ActiveSheet.RowCount; i++)
{
for (int j = 0; j < fpSpread1.ActiveSheet.ColumnCount; j++)
{
fpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j));
}
}
// 列の非表示
fpSpread1.ActiveSheet.SetColumnVisible(1, false);
}
private void button1_Click(object sender, EventArgs e)
{
// 独自のファイル保存
using(System.IO.StreamWriter sw = System.IO.File.CreateText("..¥¥..¥¥test.csv"))
{
System.Text.StringBuilder data = new System.Text.StringBuilder();
int maxCol = fpSpread1.ActiveSheet.GetLastNonEmptyColumn(FarPoint.Win.Spread.NonEmptyItemFlag.Data);
int maxRow = fpSpread1.ActiveSheet.GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data);
for (int i = 0; i <= maxRow; i++)
{
string line = string.Empty;
for(int j = 0; j <= maxCol; j++)
{
if (fpSpread1.ActiveSheet.GetColumnVisible(j))
{
object value = fpSpread1.ActiveSheet.GetValue(i, j);
if (value is string)
{
line += "¥"" + fpSpread1.ActiveSheet.GetText(i, j) + "¥""+",";
}
else
{
line += fpSpread1.ActiveSheet.GetText(i, j) + ",";
}
}
}
data.Append(line.Remove(line.Length - 1, 1) + "¥r¥n");
}
// ファイルの保存と終了処理
sw.Write(data.ToString());
sw.Flush();
sw.Close();
}
}
旧文書番号
83390