将文本框数据保存到vb.net中的excel

时间:2016-04-13 10:39:15

标签: vb.net excel textbox save

我需要帮助将用户输入的数据(文本框)保存到Excel文件中。应该在桌面上自动创建excel文件。我可以添加一个文本框excel但不是多个。如果可能的话,你可以在点击btnopen时给出能够打开同一个文件的代码,谢谢!

我的代码现在用于保存按钮。

Private Sub btnSave_Click(sender as Object,e As EventArgs)处理btnSave.Click

    SaveFileDialog.Filter = "CSV Files (*.csv*)|*.csv"
    If SaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK _
    Then
        My.Computer.FileSystem.WriteAllText _
        (SaveFileDialog.FileName, txtBMI.Text, True)
    End If


    table.Rows.Add(DateTimePicker1.Text, txtBMI.Text, txtHeight.Text, txtWeight.Text)
    DataGridView1.DataSource = table

End Sub
  1. http://i.stack.imgur.com/H73M8.jpg
  2. http://i.stack.imgur.com/Rjtjw.jpg

2 个答案:

答案 0 :(得分:0)

我认为你需要使用一个支持的创建Excel文件的库,而不是像你一样使用file.create。 您可以使用Microsoft Excel 12.0对象库并添加对bin文件夹或其他使用Excel实例的dll的引用。

Dim xlApp As Excel.Application = New
Microsoft.Office.Interop.Excel.Application()

你可以在这里看到 - http://vb.net-informations.com/excel-2007/vb.net_excel_2007_create_file.htm

答案 1 :(得分:0)

首先通过

添加Microsoft Excel 12.0对象库

项目>属性>参考>添加> COM>类型库> Microsoft Excel 12.0对象库

添加releaseObject函数(在应用程序中释放excel文件):

C

添加后,声明必要的变量,以便更容易控制excel文件:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MYDataManager.sharedHandler().changeLanguageConfiguration();
    overridePendingTransition(R.anim.activity_open_translate, R.anim.activity_close_scale);
    setContentView(R.layout.activity_myscanner);

    appFlow = new ArrayList(Arrays.asList(MYConstant.kProfileMenuSettings, MYConstant.kScanner, MYConstant.kRestaurantListing));

    viewpager = (ViewPager) findViewById(R.id.view_pager);
    viewpager.addOnPageChangeListener(this);
    viewpager.setOffscreenPageLimit(0);

    reloadViewPager(1);
}

public void reloadViewPager(int currentItem) {
    adapter = new FragmentStatePagerAdapter(getSupportFragmentManager()) {
        @Override
        public Fragment getItem(int position) {
            return getFragmentWithPosition(position);
        }

        @Override
        public int getCount() {
            return appFlow.size();
        }

        @Override
        public int getItemPosition(Object object) {
            return POSITION_NONE;
        }
    };
    viewpager.setAdapter(adapter);
    viewpager.setCurrentItem(currentItem);
}

private MYBaseFragment getFragmentWithPosition(int position) {
    String screen = appFlow.get(position);
    MYBaseFragment fragment = null;
    if(screen.equals(MYConstant.kProfileMenuSettings)) {
        myProfileSettingFragment = new MYProfileSettingFragment();
        fragment = myProfileSettingFragment;
    } else if(screen.equals(MYConstant.kScanner)) {
        fragment = new MYScannerParentFragment();
    } else if(screen.equals(MYConstant.kRestaurantListing)) {
        myRestaurantListFragment = new MYRestaurantListFragment();
        fragment = myRestaurantListFragment;
    } else if(screen.equals(MYConstant.kRestaurantDetails)) {
        myResraurantDetailsFragment = new MYResraurantDetailsFragment();
        fragment = myResraurantDetailsFragment;
    } else if(screen.equals(MYConstant.kCurrentRestaurantDetails)) {
        MYQRCode qrData = MYDataManager.sharedHandler().getQRData();
        if(MYUitilities.checkQRValidation(qrData)) {
            fragment = new MYCurResDetails();
        }
    } else if(screen.equals(MYConstant.kSettings)) {
        fragment = new MYSettingFragment();
    } else if(screen.equals(MYConstant.kViewMenu)) {
        fragment = new MYResCatListFragment();
    } else if(screen.equals(MYConstant.kMenuCategoryListing)) {
        fragment = new MYResCatListFragment();
    } else if(screen.equals(MYConstant.kViewMenuViewPage)) {
        // myResMenuViewPagerFragment =  new MYResMenuViewPagerFragment();
        // fragment = myResMenuViewPagerFragment;
        fragment = new MYResMenuViewPagerFragment();
    } else if(screen.equals(MYConstant.kReviewOrder)) {
        fragment = new MYReviewOrderFragment();
    } else if(screen.equals(MYConstant.kYourOrder)) {
        fragment = new MYYourOrderFragment();
    } else if(screen.equals(MYConstant.kSettings)) {
        fragment = new MYSettingFragment();
    } else if(screen.equals(MYConstant.kOrderHistory)) {
        fragment = new MYOrderHistoryFragment();
    } else if(screen.equals(MYConstant.kCheckout)) {
        fragment = new MYCheckoutFragment();
    } else if(screen.equals(MYConstant.kCallWaiter)) {
        fragment = new MYCallWaiterFragment();
    } else if(screen.equals(MYConstant.kYourProfile)) {
        myYourProfileFragment = new MYYourProfileFragment();
        fragment = myYourProfileFragment;
    }

    fragment.setFragmentInteractionListener(MYScannerActivity.this);
    return fragment;
}

@Override
public void onPageSelected(final int position) {
    if(currentPosition >= 0) {
        final String previousScreen = appFlow.get(currentPosition);
        final String currentScreen = appFlow.get(position);

        System.out.println("previousScreen-" + previousScreen);
        System.out.println("currentScreen-" + currentScreen);

        if(previousScreen.equals(MYConstant.kYourProfile) && currentScreen.equals(MYConstant.kProfileMenuSettings)) {
            appFlow.remove(MYConstant.kYourProfile);
            adapter.notifyDataSetChanged();
            viewpager.setCurrentItem(0);
        }
        if(previousScreen.equals(MYConstant.kRestaurantDetails) && currentScreen.equals(MYConstant.kRestaurantListing)) {
            appFlow.remove(MYConstant.kRestaurantDetails);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kViewMenu) && currentScreen.equals(MYConstant.kRestaurantDetails)) {
            appFlow.remove(MYConstant.kViewMenu);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kViewMenuViewPage) && currentScreen.equals(MYConstant.kViewMenu)) {
            appFlow.remove(MYConstant.kViewMenuViewPage);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kViewMenuViewPage) && currentScreen.equals(MYConstant.kMenuCategoryListing)) {
            appFlow.remove(MYConstant.kViewMenuViewPage);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kYourOrder) && currentScreen.equals(MYConstant.kViewMenuViewPage)) {
            appFlow.remove(MYConstant.kYourOrder);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kReviewOrder) && currentScreen.equals(MYConstant.kViewMenuViewPage)) {
            appFlow.remove(MYConstant.kReviewOrder);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kYourOrder) && currentScreen.equals(MYConstant.kReviewOrder)) {
            appFlow.remove(MYConstant.kYourOrder);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kYourOrder) && currentScreen.equals(MYConstant.kViewMenuViewPage)) {
            appFlow.remove(MYConstant.kReviewOrder);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kSettings) && currentScreen.equals(MYConstant.kProfileMenuSettings)) {
            appFlow.remove(MYConstant.kSettings);
            adapter.notifyDataSetChanged();
            viewpager.setCurrentItem(0);
        } else if(previousScreen.equals(MYConstant.kOrderHistory) && currentScreen.equals(MYConstant.kProfileMenuSettings)) {
            appFlow.remove(MYConstant.kOrderHistory);
            adapter.notifyDataSetChanged();
            viewpager.setCurrentItem(0);
        } else if(previousScreen.equals(MYConstant.kCheckout) && currentScreen.equals(MYConstant.kViewMenuViewPage)) {
            appFlow.remove(MYConstant.kCheckout);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kCheckout) && currentScreen.equals(MYConstant.kReviewOrder)) {
            appFlow.remove(MYConstant.kCheckout);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kCheckout) && currentScreen.equals(MYConstant.kYourOrder)) {
            appFlow.remove(MYConstant.kCheckout);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kCallWaiter) && currentScreen.equals(MYConstant.kCheckout)) {
            appFlow.remove(MYConstant.kCallWaiter);
            adapter.notifyDataSetChanged();
        } else if(previousScreen.equals(MYConstant.kRestaurantListing) && currentScreen.equals(MYConstant.kScanner)) {
            if(MYDataManager.sharedHandler().isQRCodeScanned()) {
                appFlow.remove(MYConstant.kRestaurantListing);
                if(!appFlow.contains(MYConstant.kCurrentRestaurantDetails)) {
                    appFlow.add(MYConstant.kCurrentRestaurantDetails);
                }
                adapter.notifyDataSetChanged();
            }
        } else if(previousScreen.equals(MYConstant.kCurrentRestaurantDetails) && currentScreen.equals(MYConstant.kScanner)) {

        } else if(previousScreen.equals(MYConstant.kMenuCategoryListing) && currentScreen.equals(MYConstant.kCurrentRestaurantDetails)) {
            appFlow.remove(MYConstant.kMenuCategoryListing);
            adapter.notifyDataSetChanged();
        }
    }

    Fragment fragment = ((FragmentStatePagerAdapter) viewpager.getAdapter()).getItem(position);
    if(fragment instanceof MYProfileSettingFragment) {

    }
    currentPosition = position;
}

添加带粗体文字的标题:

Private Sub releaseObject(ByVal obj As Object)
    Try
        System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
        obj = Nothing
    Catch ex As Exception
        obj = Nothing
    Finally
        GC.Collect()
    End Try
End Sub

接下来,打开excel文件。

    Dim appXL As Excel.Application
    Dim wbXl As Excel.Workbook
    Dim shXL As Excel.Worksheet
    Dim raXL As Excel.Range
    ' Start Excel and get Application object.
    appXL = CreateObject("Excel.Application")
    ' Add a new workbook.
    wbXl = appXL.Workbooks.Add
    shXL = wbXl.ActiveSheet
    shXL.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape
    shXL.PageSetup.PaperSize = Excel.XlPaperSize.xlPaperA3
    appXL.Visible = False
相关问题